The width trim system uses a consistent approach for creating cutting bodies:
Coordinate Convention
- X axis - Profile direction (left/right across the blade)
- Y axis - Thickness direction (into/out of blade face)
- Z axis - Height direction (up/down, aligned with gravity)
Perpendicular Cuts (Block-based)
For simple cuts with no angle or tilt, a block is created directly at the final position:
sld blo centerX centerY centerZ sizeX sizeY sizeZ 0 0 0 i_body '*** Rotate for compound blade orientation if bladeAngle <> 0 then sld rot 1 i_body 0 0 0 0 0 1 bladeAngle end if
Angled/Tilted Cuts (Kurve-based)
For cuts with draft angles or tilt, the cutter is built in XY plane first, then rotated:
- Build 2D profile in XY plane - X=profile direction, Y=height
- Convert kurve to sheet - Creates flat sheet in XY
- Rotate 90° around X - Moves to XZ plane (X=profile, Z=height)
- Rotate by blade angle around Z - For compound blade orientations
- Thicken in Y direction - Creates solid covering blade thickness
This approach is more reliable than trying to construct angled geometry directly.