mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
FIX: STUDIO-787 & STUDIO-786 lion face model problem
1. memory explosion when enable timelapse. 2. Models with only one color become multicolor after slicing. Change-Id: Iab3ace70c08d03ab612158d52ff67eef8d5bc718
This commit is contained in:
parent
db83a1c193
commit
612204b443
3 changed files with 13 additions and 6 deletions
|
@ -175,8 +175,13 @@ ToolOrdering::ToolOrdering(const Print &print, unsigned int first_extruder, bool
|
|||
this->collect_extruders(*object, per_layer_extruder_switches);
|
||||
|
||||
// Reorder the extruders to minimize tool switches.
|
||||
std::vector<unsigned int> first_layer_tool_order;
|
||||
if (first_extruder == (unsigned int)-1) {
|
||||
this->reorder_extruders(generate_first_layer_tool_order(print));
|
||||
first_layer_tool_order = generate_first_layer_tool_order(print);
|
||||
}
|
||||
|
||||
if (!first_layer_tool_order.empty()) {
|
||||
this->reorder_extruders(first_layer_tool_order);
|
||||
}
|
||||
else {
|
||||
this->reorder_extruders(first_extruder);
|
||||
|
|
|
@ -1777,11 +1777,10 @@ void Print::_make_wipe_tower()
|
|||
// BBS: priming logic is removed, so don't consider it in tool ordering
|
||||
m_wipe_tower_data.tool_ordering = ToolOrdering(*this, (unsigned int)-1, false);
|
||||
|
||||
// if enable_timelapse_print(), update all layer_tools parameters(has_wipe_tower, wipe_tower_partitions)
|
||||
// if enable_timelapse_print(), update all layer_tools parameters: wipe_tower_partitions
|
||||
if (enable_timelapse_print()) {
|
||||
std::vector<LayerTools>& layer_tools_array = m_wipe_tower_data.tool_ordering.layer_tools();
|
||||
for (LayerTools& layer_tools : layer_tools_array) {
|
||||
layer_tools.has_wipe_tower = true;
|
||||
if (layer_tools.wipe_tower_partitions == 0) {
|
||||
layer_tools.wipe_tower_partitions = 1;
|
||||
}
|
||||
|
|
|
@ -3522,8 +3522,11 @@ void DynamicPrintConfig::normalize_fdm(int used_filaments)
|
|||
ConfigOptionBool* alh_opt = this->option<ConfigOptionBool>("adaptive_layer_height");
|
||||
ConfigOptionEnum<PrintSequence>* ps_opt = this->option<ConfigOptionEnum<PrintSequence>>("print_sequence");
|
||||
|
||||
ConfigOptionBool *timelapse_opt = this->option<ConfigOptionBool>("timelapse_no_toolhead");
|
||||
if (timelapse_opt && timelapse_opt->value == false) {
|
||||
if (used_filaments == 1 || ps_opt->value == PrintSequence::ByObject)
|
||||
ept_opt->value = false;
|
||||
}
|
||||
|
||||
if (ept_opt->value) {
|
||||
if (islh_opt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue