mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-09 16:51:12 +00:00
Add belt printer transform pipeline: slicing rotation, G-code coords, preview
- Implement core belt slicing pipeline: R(-alpha, X) mesh rotation in PrintObjectSlice with corrected object height calculation for proper layer count Add to_machine_coords() in GCodeWriter to convert slicing-frame coordinates back to machine-frame, propagated through GCode, GCodeProcessor, and GCodeViewer Add belt-mode UI: tilted bed visualization, slicing-direction arrow, and raw G-code toggle to switch between machine-frame and slicing-frame views This is a combination of 6 commits. checkpoint 1: initial MVP. Slicing functions, but rotates instead of skews are happening and a lot of other stuff too getting somewhere, getting to the point where I need to figure out how to verify this stuff this appears to be a dead end. getting somewhere I think maybe I'm pretty sure we've completely lost the plot at this point and need to restart this process... remove slice logic in preparation for new, more invasive plan
This commit is contained in:
committed by
Joseph Robertson
parent
08aa277974
commit
ed6ea086a2
@@ -125,6 +125,12 @@ public:
|
||||
void set_is_first_layer(bool bval) { m_is_first_layer = bval; }
|
||||
GCodeFlavor get_gcode_flavor() const { return config.gcode_flavor; }
|
||||
|
||||
// Belt printer: set the belt angle and precompute sin/cos for coordinate transformation.
|
||||
void set_belt_angle(double angle_deg);
|
||||
bool is_belt_printer() const { return m_belt_angle_rad != 0.; }
|
||||
// Transform a point from the slicing frame to machine/world coordinates (inverse shear).
|
||||
Vec3d to_machine_coords(const Vec3d &pos) const;
|
||||
|
||||
// Returns whether this flavor supports separate print and travel acceleration.
|
||||
static bool supports_separate_travel_acceleration(GCodeFlavor flavor);
|
||||
private:
|
||||
@@ -177,6 +183,11 @@ public:
|
||||
|
||||
//SoftFever
|
||||
bool m_is_bbl_printers = false;
|
||||
|
||||
// Belt printer coordinate transformation (YZ shear)
|
||||
double m_belt_angle_rad = 0.;
|
||||
double m_belt_cos = 1.0;
|
||||
double m_belt_sin = 0.0;
|
||||
double m_current_speed;
|
||||
bool m_is_first_layer = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user