Part 2.5: Add global shear transform, support clipping, and belt UI improvements

- Implement per-object global shear transform in PrintObject with
  layer Z-offset calculation, config invalidation, and fix for
  shared-object layer optimization breaking copied objects
- Clip support layers to the transformed belt floor plane and begin
  work on tree support adaptation for sheared coordinate space
- Improve belt UI: gray out inactive sub-options, add B keyboard
  shortcut for G-code viewer design-view toggle, fix mesh clipping
  through build plate after shear/scale transform

y' = y + z·cot(α),
  while x' = x and z' = z

getting closer to customizable variant

getting closer

X/Y/Z shear initial

clean up UI

add 1/sin(a) transform, idea taken from blackbelt cura plugin

Things work now (turns out I've been using the wrong set of  transforms)
This commit is contained in:
harrierpigeon
2026-03-12 20:47:28 -05:00
committed by Joseph Robertson
parent cb13a22e57
commit 719af2d81d
13 changed files with 452 additions and 91 deletions

View File

@@ -227,9 +227,8 @@ class Print;
bool support_traditional_timelapse{true};
float printable_height;
float z_offset;
// Belt printer: angle and Z-shift for coordinate transformation in preview.
// Belt printer: angle for coordinate transformation in preview.
float belt_printer_angle{ 0.f };
float belt_z_shift{ 0.f };
SettingsIds settings_ids;
size_t filaments_count;
bool backtrace_enabled;