fix(commands): finish the world-XY coordinate migration (#54)
The drawing plane is world XY, but break, join, rectangular array, the stretch/window move, the spline preview wire and several doc comments still used the stale "Y-up XZ" mapping (world Z = DXF Y). That made those commands operate against a constant-elevation axis: arc/circle/ line/spline break and join picked the wrong points, rectangular array stepped rows along the Z (elevation) axis, window-stretch tested the wrong window bound, and the spline wire drew in the wrong plane. Map every drawing-plane coordinate through .y (elevation on .z), matching the entity builders, the inquiry commands and the central transform. Stale Y-up comments updated to avoid future confusion. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c04bdcf846
commit
c7a7f2f742
9 changed files with 35 additions and 34 deletions
|
|
@ -760,11 +760,12 @@ impl Array3DCommand {
|
|||
if l == 0 && r == 0 && c == 0 {
|
||||
continue;
|
||||
}
|
||||
// World: X=col dir, Z=row dir (DXF Y), Y=level (up)
|
||||
// Drawing plane is world XY: X = col dir, Y = row dir,
|
||||
// Z = level (elevation).
|
||||
t.push(EntityTransform::Translate(Vec3::new(
|
||||
col_sp * c as f32,
|
||||
lvl_sp * l as f32,
|
||||
row_sp * r as f32,
|
||||
lvl_sp * l as f32,
|
||||
)));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue