forked from 1b-agent/opencadstudio-upstream
SWEEP: sweep from the picked path end; kernel run faces and placed ends
- An open path is swept from its end nearest the pick point (in plan), as the reference does; the record keeps the original path and the placed frame marks the start. - Kernel from ramox81/cadkernel 1df75f5: one face per path run for twisted, scaled and spline sweeps, placed records swept from the placed end, end caps without pcurves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
41d93b6f54
commit
0c3ca96822
4 files changed
+56
-1
No files matched your search
@@ -1822,7 +1822,7 @@ impl CadCommand for SweepCommand {
|
||||
self.step == SweepStep::PickPath
|
||||
}
|
||||
|
||||
fn on_entity_pick(&mut self, handle: Handle, _pt: DVec3) -> CmdResult {
|
||||
fn on_entity_pick(&mut self, handle: Handle, pt: DVec3) -> CmdResult {
|
||||
if self.step != SweepStep::PickPath || handle.is_null() || self.contains_profile(handle) {
|
||||
self.injected_path = None;
|
||||
return CmdResult::NeedPoint;
|
||||
@@ -1835,6 +1835,7 @@ impl CadCommand for SweepCommand {
|
||||
let Some(path) = path.filter(crate::scene::model::sweep_model::is_sweep_path) else {
|
||||
return CmdResult::NeedPoint;
|
||||
};
|
||||
self.options.path_pick = pt.is_finite().then_some(pt);
|
||||
if (self.options.scale - 1.0).abs() > 1e-12 {
|
||||
if let Some(message) = crate::scene::model::sweep_model::scaled_sweep_path_refusal(&path) {
|
||||
return CmdResult::ReportMeasurement(format!(
|
||||
|
||||
Reference in new issue
Block a user