forked from 1b-agent/opencadstudio-upstream
feat(block-editor): wire Rotation, Alignment and Flip parameter placement
Enable the existing palette rows and BPARAMETER choices. Rotation accepts a center, picked or numeric radius, and picked or numeric default angle. Alignment places a tangent direction from its base point. Flip places a reflection line and state label, with native grip and state expressions. Extend shared graph append/capacity checks for Flip's additional state node while preserving existing subgraphs. Keep Polar/Rotation angle labels unique in either placement order. Add editor graphics, extents and definition reframing through the existing overlay/history/save paths. This milestone implements native parameter placement and persistence. Rotate/Flip action association, reference alignment/grip editing, parameter property editing and parameter sets remain separate work. Validation covers command and palette placement, cancellation, local/parent undo, save/discard, native DWG/DXF objects, existing graph preservation and the 17 research fixtures. Broader block/dock regressions and editor renders are also checked.
This commit is contained in:
1 parent
6dab5a7229
commit
72c762e944
19 files changed
+1483
-25
No files matched your search
@@ -1514,6 +1514,15 @@ impl DimensionPreview {
|
||||
/// Returned by every `CadCommand` method to tell main.rs what to do.
|
||||
#[allow(dead_code)]
|
||||
pub enum CmdResult {
|
||||
/// Place a native Rotation, Alignment or Flip parameter.
|
||||
PlaceBlockOrientationParameter {
|
||||
document_id: u64,
|
||||
definition: Handle,
|
||||
kind: crate::scene::block_orientation_parameter::Kind,
|
||||
base: DVec3,
|
||||
end: DVec3,
|
||||
reference: DVec3,
|
||||
},
|
||||
/// Place a native two-point parameter after its base, end and label picks.
|
||||
PlaceBlockDistanceParameter {
|
||||
document_id: u64,
|
||||
|
||||
Reference in new issue
Block a user