mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 19:01:02 +00:00
Keep the prime tower and its approach travel on non-rectangular beds
The placement clamps and the tower-approach router both stood in the bed's bounding box for the bed itself, so on a delta or hexagonal bed the prime tower could be parked in a corner that does not exist and the nozzle could be routed across it. Both now test the real printable outline, slicing reports a tower that does not fit instead of printing it off the bed, and a tower parked near an edge is routed along the clamped side rather than falling back to a straight line across the tower. Also fixes the placement validation rotating the tower hull by degrees read as radians about the plate origin, and never rotating the generated tower footprint at all.
This commit is contained in:
@@ -425,6 +425,9 @@ public:
|
||||
const BoundingBox get_bounding_box_crd();
|
||||
BoundingBoxf3 get_plate_box() {return get_build_volume();}
|
||||
BoundingBoxf3 get_build_volume(bool use_share = false);
|
||||
// Polygon counterpart of get_build_volume(true), in scaled world coordinates. The bounding box
|
||||
// that one returns hides the corners a non-rectangular bed does not have.
|
||||
Polygon get_shared_printable_polygon() const;
|
||||
|
||||
const std::vector<BoundingBoxf3>& get_exclude_areas() { return m_exclude_bounding_box; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user