forked from 1b-agent/opencadstudio-upstream
feat: SPLINEDIT — close, open, reverse spline control-point editing
- splinedit.rs: SplineditCommand picks a spline (entity-pick phase) then accepts CLOSE/OPEN/REVERSE/EXIT sub-commands via text input - apply_spline_op() mutates the spline in the document directly, with knot vector regeneration via generate_clamped_knots() - Sentinel XLine trick: ReplaceEntity with a magic __SPLINEDIT_* layer name is intercepted in cmd_result.rs before erasing the original entity - Control-point dragging already works via the existing grip editing system - ROADMAP.md: SPLINEDIT marked ✅ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
51e6c4b359
commit
0fc3766da7
5 files changed
+215
-1
No files matched your search
@@ -1435,6 +1435,13 @@ impl H7CAD {
|
||||
self.tabs[i].active_cmd = Some(Box::new(cmd_obj));
|
||||
}
|
||||
|
||||
"SPLINEDIT"|"SPE" => {
|
||||
use crate::modules::home::modify::splinedit::SplineditCommand;
|
||||
let cmd_obj = SplineditCommand::new();
|
||||
self.command_line.push_info(&cmd_obj.prompt());
|
||||
self.tabs[i].active_cmd = Some(Box::new(cmd_obj));
|
||||
}
|
||||
|
||||
"ALIGN"|"AL" => {
|
||||
use crate::modules::home::modify::align::AlignCommand;
|
||||
let cmd = AlignCommand::new();
|
||||
|
||||
Reference in new issue
Block a user