mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-18 22:42:37 +00:00
Belt/Standard calibrations (#54)
Enables supported printing of standard Orcaslicer calibration profiles. * Build 2 Checkpoint * fix support generation wedge, ghost layers * flip cornering tests 180 deg to waste less supports * fix row spacing on the flow ratio calibrations * more testing, this didn't fix anything * switched rotation tools, same issue * fixed Z-offset issues * add rest of PA features, may look a bit weird on a belt * make temp towers work * re-enable spiral on calibrations that want it * Final cleanup pre-PR and community testing
This commit is contained in:
@@ -966,7 +966,14 @@ void PrintObject::slice()
|
||||
// correct machine-frame coordinates whether or not a global mode is active.
|
||||
double belt_surface_z = BeltTransformPipeline::has_preslice_remap(pcfg)
|
||||
? BeltTransformPipeline::remap_bbox(*this->model_object(), pcfg).min.z() : 0.;
|
||||
double belt_z_shift = m_belt_min_z - belt_surface_z;
|
||||
// The compensation must mirror the Z-shift actually applied, which
|
||||
// is max(0, -m_belt_min_z): when the transformed mesh starts ABOVE
|
||||
// slicer Z=0 (m_belt_min_z > 0 — possible for counter-rotated or
|
||||
// asymmetric geometry whose centered-frame minimum lands positive)
|
||||
// no lift was applied, and an unclamped m_belt_min_z here would
|
||||
// leak straight into the layer Z values, floating the whole object
|
||||
// off the belt by exactly that amount.
|
||||
double belt_z_shift = std::min(m_belt_min_z, 0.) - belt_surface_z;
|
||||
double global_z_offset = belt_z_shift;
|
||||
|
||||
// Centering correction: trafo_centered pretranslates by
|
||||
|
||||
Reference in New Issue
Block a user