cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven f9b6834ad9 feat(export): exact ACIS geometry for planar solids on save
OCS models 3-D solids with truck, but extrude/boolean results carried no ACIS
body, so other CAD apps dropped them on open. Add an exact planar exporter and
run it at save time.

- scene::convert::acis_export::planar_solid_to_sat walks a truck Solid whose
  faces are all planes bounded by straight edges into a vertex/face-ring mesh
  and builds an exact ACIS body via acadrust's build_planar_body. Curved
  faces/edges return None (left for the NURBS path). A signed-volume check
  flips the winding if the shell comes out inside-out.
- OpenCADStudio::sync_truck_solids_to_acis fills in ACIS geometry for every
  cached truck solid that still has none, just before a Save / Save-As, so the
  written DWG/DXF carries real modeler geometry.
- Bump acadrust to 9142a50 (build_planar_body + classic-ACIS AcDs roundtrip fix).

Booleans (already cached as truck solids) now export exact geometry. Extruded
polygons will too once the EXTRUDE command caches its truck solid (a separate
change kept out of this commit because command_driver.rs holds unrelated
in-progress edits).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 15:43:37 +03:00
..
cache feat(properties): resolve Hyperlink (XDATA) and custom Material name 2026-07-02 23:25:02 +03:00
convert feat(export): exact ACIS geometry for planar solids on save 2026-07-03 15:43:37 +03:00
model fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
pick feat(nav): turntable orbit, selection/cursor pivot, Shift+MMB rotate (#229) 2026-07-01 21:58:04 +03:00
pipeline fix(render): size mesh-batch buffers to the device limit 2026-07-02 10:20:24 +03:00
text fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
view feat(properties): add 3D Visualization group + General Plot style/Hyperlink 2026-07-02 23:07:50 +03:00
camera_ops.rs fix(camera): keep ortho depth precision constant across zoom 2026-07-02 01:23:27 +03:00
entity.rs fix(plugin): auto-register unknown layers so added entities survive DWG save (#252) 2026-07-02 20:36:16 +03:00
group_layer.rs feat(layers): enforce layer lock (select/modify/fade + cursor badge) 2026-07-01 13:10:39 +03:00
layout.rs refactor(viewport): migrate model-space tiling to iced pane_grid 2026-06-27 11:50:11 +03:00
mod.rs feat(nav): turntable orbit, selection/cursor pivot, Shift+MMB rotate (#229) 2026-07-01 21:58:04 +03:00
modify.rs fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
mspace.rs feat(nav): turntable orbit, selection/cursor pivot, Shift+MMB rotate (#229) 2026-07-01 21:58:04 +03:00
paper.rs refactor: split four oversized files into submodule trees 2026-06-26 22:51:29 +03:00
preview.rs fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
project.rs refactor: split four oversized files into submodule trees 2026-06-26 22:51:29 +03:00
selection.rs refactor(properties): entity property groups return Vec<PropSection> 2026-07-02 22:46:19 +03:00