forked from 1b-agent/opencadstudio-upstream
SWEEP: reference messages, 3D polyline profiles and Scale Reference
- 3D polyline profiles are recorded as wire bodies, like 3D polyline paths. - Refused sweeps print the modeling error code and "Unable to sweep N selected objects."; a scaled sweep rejects closed and cornered spatial paths with the reference messages and asks for the path again. - Scale > Reference asks for start and end reference lengths (start / end). - Bank stays on for later sweeps until a twist angle is entered. - Refused twist/scale edits in Properties print the modeling error code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7a8ec02003
commit
1a18fdd0cf
6 files changed
+149
-57
No files matched your search
@@ -1370,6 +1370,19 @@ impl Scene {
|
||||
self.rebuild_solid_history(handle, operation)
|
||||
}
|
||||
|
||||
/// The modeler error code the reference reports when it refuses a sweep
|
||||
/// property edit (twist or scale along a path with a corner).
|
||||
pub fn solid_history_property_refusal(&self, handle: Handle, field: &str, value: &str) -> Option<u32> {
|
||||
let mut operation = crate::scene::model::solid_history::primitive_property_operation(&self.document, handle)?;
|
||||
if !crate::scene::model::solid_history::apply_primitive_property(&mut operation, field, value) {
|
||||
return None;
|
||||
}
|
||||
let codec::objects::SolidHistoryOperation::Sweep(record) = &operation else {
|
||||
return None;
|
||||
};
|
||||
kernel::acis::sweep_history_refusal(record).map(crate::scene::model::sweep_model::sweep_refusal_code)
|
||||
}
|
||||
|
||||
pub fn apply_solid_position_property(
|
||||
&mut self,
|
||||
handle: Handle,
|
||||
|
||||
Reference in new issue
Block a user