forked from 1b-agent/opencadstudio-upstream
Merge pull request #1352 from ramox81/codex/symmetric-constraint-parity
Complete Symmetric constraint behavior
This commit is contained in:
commit
da02e38208
11 files changed
+755
-68
No files matched your search
@@ -1324,6 +1324,18 @@ pub enum HorizontalConstraintSelection {
|
||||
Points(CoincidentPick, CoincidentPick),
|
||||
}
|
||||
|
||||
/// The two input forms accepted by the Symmetric geometric constraint.
|
||||
/// Object picks retain their curve or segment references; point picks are
|
||||
/// resolved by the host against the live document.
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub enum SymmetricConstraintSelection {
|
||||
Objects(
|
||||
crate::scene::parametric_constraints::ParametricRef,
|
||||
crate::scene::parametric_constraints::ParametricRef,
|
||||
),
|
||||
Points(CoincidentPick, CoincidentPick),
|
||||
}
|
||||
|
||||
/// Construction options shared by SWEEP creation and its live preview.
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub struct SweepOptions {
|
||||
@@ -1578,6 +1590,13 @@ pub enum CmdResult {
|
||||
direction: acadrust::types::Vector3,
|
||||
label: &'static str,
|
||||
},
|
||||
/// Adds a point or object symmetry relation around a picked line. The
|
||||
/// first reference and axis remain fixed during initial placement.
|
||||
AddSymmetricConstraint {
|
||||
selection: SymmetricConstraintSelection,
|
||||
axis: crate::scene::parametric_constraints::ParametricRef,
|
||||
label: &'static str,
|
||||
},
|
||||
/// Adds an ordered perpendicular relation. The first picked direction and
|
||||
/// the second direction's start point stay fixed during the initial solve;
|
||||
/// those temporary anchors are not persisted as geometric constraints.
|
||||
|
||||
Reference in new issue
Block a user