fix(3d): revolve axis and OBJ import use the Z-up world, not stale Y-up
The truck B-rep pipeline is Z-up (solids extrude/raise along Z, profile wires convert pass-through), but two spots still assumed a Y-up world: - REVOLVE swapped the axis/origin to (x, z, y), so the revolve axis sat in the XZ plane while the profile sat in XY → wrong solid. Use the axis/origin straight through. - OBJ import kept Y-up coordinates as-is on the (now Z-up) viewport, so imported meshes lay on their side. Rotate +90° about X on import (positions + normals): (x, y, z) → (x, -z, y). EXTRUDE (sweep along +Z) and the box/cylinder primitives were already Z-up and unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
d7135761c9
commit
d8c60c32d4
2 changed files with 6 additions and 5 deletions
|
|
@ -1230,11 +1230,11 @@ impl OpenCADStudio {
|
|||
let wire = wire?;
|
||||
let origin = Point3::new(
|
||||
axis_start.x as f64,
|
||||
axis_start.z as f64,
|
||||
axis_start.y as f64,
|
||||
axis_start.z as f64,
|
||||
);
|
||||
let dir = (axis_end - axis_start).normalize();
|
||||
let axis = TruckVec3::new(dir.x as f64, dir.z as f64, dir.y as f64);
|
||||
let axis = TruckVec3::new(dir.x as f64, dir.y as f64, dir.z as f64);
|
||||
let shell = builder::rsweep(
|
||||
&wire,
|
||||
origin,
|
||||
|
|
|
|||
Loading…
Reference in a new issue