FIX: fix slice core dumped problem
enable timelapse and the first layer has no toolchange jira: STUDIO-10698 Change-Id: Ia503efe4a143fe98f67cd3913b7745d74b113170
This commit is contained in:
parent
ecb6aff6c9
commit
a4388010bd
|
@ -3779,11 +3779,10 @@ void WipeTower::generate_new(std::vector<std::vector<WipeTower::ToolChangeResult
|
||||||
// generate tool change
|
// generate tool change
|
||||||
bool insert_wall = false;
|
bool insert_wall = false;
|
||||||
int insert_finish_layer_idx = -1;
|
int insert_finish_layer_idx = -1;
|
||||||
for (int i = 0; i < int(layer.tool_changes.size()); ++i) {
|
if (wall_idx != -1 && m_enable_timelapse_print) {
|
||||||
if (i == 0 && m_enable_timelapse_print) {
|
|
||||||
timelapse_wall = only_generate_out_wall(true);
|
timelapse_wall = only_generate_out_wall(true);
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < int(layer.tool_changes.size()); ++i) {
|
||||||
ToolChangeResult wall_gcode;
|
ToolChangeResult wall_gcode;
|
||||||
if (i == 0 && (layer.tool_changes[i].old_tool == wall_idx)) {
|
if (i == 0 && (layer.tool_changes[i].old_tool == wall_idx)) {
|
||||||
finish_layer_tcr = finish_layer_new(m_enable_timelapse_print ? false : true, false, false);
|
finish_layer_tcr = finish_layer_new(m_enable_timelapse_print ? false : true, false, false);
|
||||||
|
@ -3811,7 +3810,7 @@ void WipeTower::generate_new(std::vector<std::vector<WipeTower::ToolChangeResult
|
||||||
// insert finish block
|
// insert finish block
|
||||||
if (wall_idx != -1) {
|
if (wall_idx != -1) {
|
||||||
if (layer.tool_changes.empty()) {
|
if (layer.tool_changes.empty()) {
|
||||||
finish_layer_tcr = finish_layer_new(true, false, false);
|
finish_layer_tcr = finish_layer_new(m_enable_timelapse_print ? false : true, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (WipeTowerBlock& block : m_wipe_tower_blocks) {
|
for (WipeTowerBlock& block : m_wipe_tower_blocks) {
|
||||||
|
@ -3891,7 +3890,7 @@ void WipeTower::generate_new(std::vector<std::vector<WipeTower::ToolChangeResult
|
||||||
layer_result[insert_finish_layer_idx] = merge_tcr(layer_result[insert_finish_layer_idx], finish_layer_tcr);
|
layer_result[insert_finish_layer_idx] = merge_tcr(layer_result[insert_finish_layer_idx], finish_layer_tcr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_enable_timelapse_print) {
|
if (m_enable_timelapse_print && !timelapse_wall.gcode.empty()) {
|
||||||
layer_result.insert(layer_result.begin(), std::move(timelapse_wall));
|
layer_result.insert(layer_result.begin(), std::move(timelapse_wall));
|
||||||
}
|
}
|
||||||
result.emplace_back(std::move(layer_result));
|
result.emplace_back(std::move(layer_result));
|
||||||
|
|
Loading…
Reference in New Issue