Commit Graph

9 Commits

Author SHA1 Message Date
SoftFever
4c7bd5f9fc fixed an issue that zaa_enabled is redefined in both object and region. move all zaa config to region to keep it consistent 2026-05-01 19:47:00 +08:00
Aleksandr Dobkin
b6b654ca27 Fix z-height calculation to correctly handle case when height == min_z 2026-03-26 05:47:00 -07:00
Aleksandr Dobkin
4d998ecc50 Adjust ZAA configuration 2026-03-26 04:21:36 -07:00
Aleksandr Dobkin
f00744c14c Treat internal and external perimeters the same for the purpose of ZAA 2026-03-26 03:12:47 -07:00
Aleksandr Dobkin
e9fd3da7e9 Various ZAA fixes.
- Handle z contouring in variable speed flow when emitting GCode
- Add logic to restore nominnal z height for regular extrusions
- preserve z_contoured flag when splitting extrusion paths
2026-03-24 09:18:38 -07:00
Aleksandr Dobkin
0d9c19e759 Fix contour extrusion path logic and improve GCode extrusion handling 2026-03-19 01:32:51 -07:00
Aleksandr Dobkin
f808053968 Fix z-offset handling for ZAA 2026-03-16 13:48:42 -07:00
Aleksandr Dobkin
1386198ae2 Remove obsolete build and documentation files and clean up commented-out code 2026-03-11 02:47:32 -07:00
Matthias Nott
6250fab6a4 feat: Add Z Anti-Aliasing (ZAA) contouring support
Port Z Anti-Aliasing from BambuStudio-ZAA (https://github.com/adob/BambuStudio-ZAA)
to OrcaSlicer. ZAA eliminates stair-stepping on curved and sloped top surfaces
by raycasting each extrusion point against the original 3D mesh and micro-adjusting
Z height to follow the actual surface geometry.

Key changes:
- Add ContourZ.cpp raycasting algorithm (~330 lines)
- Extend geometry with 3D support (Point3, Line3, Polyline3, MultiPoint3)
- Template arc fitting for 2D/3D compatibility
- Change ExtrusionPath::polyline from Polyline to Polyline3
- Add 5 ZAA config options (zaa_enabled, zaa_min_z, etc.)
- Add posContouring pipeline step in PrintObject
- Update GCode writer for 3D coordinate output
- Add ZAA settings UI in Print Settings > Quality
- Add docs/ZAA.md with usage and implementation details

ZAA is opt-in and disabled by default. When disabled, the slicing pipeline
is unchanged.
2026-02-09 20:42:26 +01:00