mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 15:37:30 -06:00
ENH: use spiral lift only when it is needed
If a travel path goes through an overhang expolygons, and their distance is shorter than threshold, lift type will be set to SpiralLift. Signed-off-by: yifan.wu <yifan.wu@bambulab.com> Change-Id: I345788711755dd8611ecf385818e6052cd8abe9e
This commit is contained in:
parent
47a46010bd
commit
5d9bb61f8e
11 changed files with 199 additions and 17 deletions
|
@ -395,8 +395,9 @@ private:
|
|||
std::string extrude_support(const ExtrusionEntityCollection &support_fills);
|
||||
|
||||
std::string travel_to(const Point &point, ExtrusionRole role, std::string comment);
|
||||
bool needs_retraction(const Polyline &travel, ExtrusionRole role = erNone);
|
||||
std::string retract(bool toolchange = false, bool is_last_retraction = false);
|
||||
// BBS: detect lift type in needs_retraction
|
||||
bool needs_retraction(const Polyline& travel, ExtrusionRole role, LiftType& lift_type);
|
||||
std::string retract(bool toolchange = false, bool is_last_retraction = false, LiftType lift_type = LiftType::SpiralLift);
|
||||
std::string unretract() { return m_writer.unlift() + m_writer.unretract(); }
|
||||
std::string set_extruder(unsigned int extruder_id, double print_z);
|
||||
std::set<ObjectID> m_objsWithBrim; // indicates the objs with brim
|
||||
|
@ -477,6 +478,7 @@ private:
|
|||
GCodeProcessor m_processor;
|
||||
|
||||
// BBS
|
||||
Print* m_curr_print = nullptr;
|
||||
unsigned int m_toolchange_count;
|
||||
coordf_t m_nominal_z;
|
||||
bool m_need_change_layer_lift_z = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue