forked from 1b-agent/opencadstudio-upstream
Match Vertical geometric constraint behavior
1) VCONSTRAINT (and the new GCVERTICAL name) uses the axis constraint flow: "Select an object or [2Points] <2Points>:", 2Points mode with the reference's re-prompts and messages, and the same object types as Horizontal — line, polyline segment, text, MText, ellipse axis. 2) Object mode turns the object about its first vertex; a two-point relation across two objects slides the second object rigidly onto the axis. 3) Re-applying an axis constraint reports that the constraint already exists; Vertical follows the UCS Y direction. 4) The constraint bar draws Vertical as the reference's axis mark, with the point marker for a two-point relation. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
2b38f798c0
commit
26e458d6f7
6 files changed
+271
-75
No files matched your search
+6
-3
@@ -1504,10 +1504,12 @@ pub enum CmdResult {
|
||||
/// Undo-history label, e.g. `"Horizontal constraint"`.
|
||||
label: &'static str,
|
||||
},
|
||||
/// Adds a Horizontal relation against the UCS X direction captured when
|
||||
/// the command starts. The direction is persisted with the constraint so
|
||||
/// later edits and save/reopen do not silently fall back to world X.
|
||||
/// Adds a Horizontal or Vertical relation (`kind`) against the UCS X or
|
||||
/// Y direction captured when the command starts. The direction is
|
||||
/// persisted with the constraint so later edits and save/reopen do not
|
||||
/// silently fall back to the world axis.
|
||||
AddHorizontalConstraint {
|
||||
kind: crate::scene::parametric_constraints::ConstraintKind,
|
||||
selection: HorizontalConstraintSelection,
|
||||
direction: acadrust::types::Vector3,
|
||||
label: &'static str,
|
||||
@@ -2797,6 +2799,7 @@ mod constraint_registry_tests {
|
||||
"OCCONSTRAINT",
|
||||
"GCHORIZONTAL",
|
||||
"VCONSTRAINT",
|
||||
"GCVERTICAL",
|
||||
"PCONSTRAINT",
|
||||
"QCONSTRAINT",
|
||||
"GCPERPENDICULAR",
|
||||
|
||||
Reference in new issue
Block a user