mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 10:51:22 +00:00
Port the skip-points gap wall to WipeTower2
prime_tower_skip_points was stubbed for Type2 towers: the wall call hard-coded skip_points=false, the gap cutter received an empty vector, and append_tcr2 never routed the entry travel. Now the toolchange entry positions are precomputed from the finalized plan, the wall is cut open at each entry, and the entry travel approaches around the tower bounding box through the opening when it starts outside the tower. The geometry helpers are re-synced with the BBL versions (add_extra_point guards, per-point side selection). The cone wall keeps its separate path, where the option stays inert. Behavior change: non-BBL towers now honor the (default-on) checkbox with gap walls and routed entries; with the option off the output is unchanged, and the BBL tower path is untouched.
This commit is contained in:
@@ -233,6 +233,11 @@ private:
|
||||
float m_extra_rib_length = 0;
|
||||
float m_rib_length = 0;
|
||||
Vec2f m_rib_offset = Vec2f::Zero();
|
||||
bool m_use_gap_wall = false;
|
||||
// Per plan layer, each toolchange's entry position (tower-local, un-shifted frame):
|
||||
// where the wall is cut open so the entry travel does not cross the printed wall.
|
||||
// Filled by compute_wall_skip_points() once the plan is final.
|
||||
std::vector<std::vector<Vec2f>> m_wall_skip_points;
|
||||
|
||||
bool m_enable_arc_fitting = false;
|
||||
|
||||
@@ -376,6 +381,8 @@ private:
|
||||
|
||||
Polygon generate_rib_polygon(const WipeTower::box_coordinates& wt_box);
|
||||
|
||||
void compute_wall_skip_points();
|
||||
|
||||
// Computes the depth reserved for a toolchange (shared by plan_toolchange() and the
|
||||
// rib-wall square-tower replanning in generate()).
|
||||
WipeTowerInfo::ToolChange set_toolchange(size_t old_tool, size_t new_tool, float layer_height, float wipe_volume, bool first_layer_plan);
|
||||
|
||||
Reference in New Issue
Block a user