feat(commands): add FLATSHOT and CONVTOSURFACE

- FLATSHOT: project the selected solid's edges to 2D Line entities at Z=0
- CONVTOSURFACE: convert the selected solid(s) to Surface entities

Both reuse the cached B-rep's edge wires. COMMANDS.md: 219/262.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-29 09:16:44 +03:00
commit c653a3f38e
4 changed files with 108 additions and 4 deletions

View file

@ -704,6 +704,16 @@ impl OpenCADStudio {
return Some(self.solid_interfere());
}
// FLATSHOT — flatten the selected solid's edges to 2D lines at Z=0.
"FLATSHOT" => {
return Some(self.solid_flatshot());
}
// CONVTOSURFACE — convert the selected solid(s) to surface entities.
"CONVTOSURFACE" => {
return Some(self.solid_convtosurface());
}
// POLYSOLID <width> <height> — extrude a selected polyline into a
// wall-like solid.
cmd if cmd == "POLYSOLID" || cmd.starts_with("POLYSOLID ") => {

View file

@ -346,6 +346,8 @@ inventory::submit!(crate::command::CommandRegistration {
"REG",
"ARCHIVE",
"ETRANSMIT",
"FLATSHOT",
"CONVTOSURFACE",
// Slice/section + interference + press-pull/thicken + 3D transforms + wall/pyramid.
"SLICE",
"SL",