ENH: order support toolpaths to reduce extra travels
Signed-off-by: yifan.wu <yifan.wu@bambulab.com> Change-Id: Ifae5807ff094eede1eaf7494430fdd174572a021 (cherry picked from commit dfb3fc991a6f4a6e7dcdcce902f26ffa789f57fb)
This commit is contained in:
parent
cd1daa66a0
commit
0b323649d3
1 changed files with 4 additions and 11 deletions
|
@ -2918,12 +2918,7 @@ GCode::LayerResult GCode::process_layer(
|
|||
m_layer = layers[instance_to_print.layer_id].tree_support_layer;
|
||||
}
|
||||
m_object_layer_over_raft = false;
|
||||
// BBS. Keep paths order
|
||||
#if 0
|
||||
gcode += this->extrude_support(
|
||||
// support_extrusion_role is erSupportMaterial, erSupportTransition, erSupportMaterialInterface or erMixed for all extrusion paths.
|
||||
instance_to_print.object_by_extruder.support->chained_path_from(m_last_pos, instance_to_print.object_by_extruder.support_extrusion_role));
|
||||
#else
|
||||
|
||||
//BBS: print supports' brims first
|
||||
if (this->m_objSupportsWithBrim.find(instance_to_print.print_object.id()) != this->m_objSupportsWithBrim.end() && !print_wipe_extrusions) {
|
||||
this->set_origin(0., 0.);
|
||||
|
@ -2953,12 +2948,10 @@ GCode::LayerResult GCode::process_layer(
|
|||
ExtrusionRole support_extrusion_role = instance_to_print.object_by_extruder.support_extrusion_role;
|
||||
bool is_overridden = support_extrusion_role == erSupportMaterialInterface ? support_intf_overridden : support_overridden;
|
||||
if (is_overridden == (print_wipe_extrusions != 0))
|
||||
support_eec.entities = filter_by_extrusion_role(instance_to_print.object_by_extruder.support->entities, instance_to_print.object_by_extruder.support_extrusion_role);
|
||||
gcode += this->extrude_support(
|
||||
// support_extrusion_role is erSupportMaterial, erSupportTransition, erSupportMaterialInterface or erMixed for all extrusion paths.
|
||||
instance_to_print.object_by_extruder.support->chained_path_from(m_last_pos, support_extrusion_role));
|
||||
|
||||
for (auto& ptr : support_eec.entities)
|
||||
ptr = ptr->clone();
|
||||
gcode += this->extrude_support(support_eec);
|
||||
#endif
|
||||
m_layer = layer_to_print.layer();
|
||||
m_object_layer_over_raft = object_layer_over_raft;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue