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:
yifan.wu 2022-11-20 22:04:25 +08:00 committed by Lane.Wei
parent 47a46010bd
commit 5d9bb61f8e
11 changed files with 199 additions and 17 deletions

View file

@ -93,6 +93,8 @@ public:
bool is_current_position_clear() const { return m_is_current_pos_clear; };
//BBS:
static const bool full_gcode_comment;
//Radian threshold of slope for lazy lift and spiral lift;
static const double slope_threshold;
private:
// Extruders are sorted by their ID, so that binary search is possible.
@ -121,9 +123,6 @@ private:
double m_x_offset{ 0 };
double m_y_offset{ 0 };
//Radian threshold of slope for lazy lift and spiral lift;
static const double slope_threshold;
std::string _travel_to_z(double z, const std::string &comment);
std::string _spiral_travel_to_z(double z, const Vec2d &ij_offset, const std::string &comment);
std::string _retract(double length, double restart_extra, const std::string &comment);