Files
OneCAD/docs/features.md
bherbruckandClaude Opus 5.5 843c548589 Copy, cut and paste sketch geometry (Ctrl+C/X/V, context menu) (#1500)
* Copy, cut and paste sketch geometry (Ctrl+C/X/V, context menu)

Sketch geometry had no copy or paste: Ctrl+C / Ctrl+X / Ctrl+V arrive as
clipboard events that nothing handled, and the sketch context menu had no
Copy, Cut or Paste.

- sketch.copy / sketch.cut / sketch.paste: lines, arcs, circles, ellipses,
  splines, conics, points and text. Constraints and dimensions wholly among
  the copied entities come along (each dimension gets its own parameter
  with the same expression); ones that reach outside, fixes and pattern or
  offset relations are dropped. Paste goes centred at `at`, by
  `translate`, or offset from the original (same sketch) / at the same
  coordinates (another sketch, on its plane). One undo step; the pasted
  geometry is selected.
- Ctrl+C / Ctrl+X / Ctrl+V in a sketch (paste at the cursor), and Cut,
  Copy and Paste in the sketch context menu. Outside a sketch Ctrl+C /
  Ctrl+V copy and paste the selected timeline features. A copy also puts a
  line of text on the system clipboard so the next Ctrl+V is delivered.

Fixes #1480

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* Keep a pasted text's height and angle expressions, drop its place's

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-15 15:55:10 -04:00

23 KiB
Raw Permalink Blame History

Features

SolidCraft's commands by area, generated by cargo xtask features from the command registry (solidcraft-cli commands). 373 commands. Planned (registered, not built yet): 3. Every command runs the same way from the toolbar, a script, solidcraft-cli exec <id> '<json>', the control channel and MCP; parameters are in the command reference (cargo xtask book). Status and plans: ROADMAP.

Sketch (102)

Command Id Toolbar
Create Sketch sketch.create SOLID › CREATE
Edit Sketch sketch.edit –
Finish Sketch sketch.finish SKETCH › FINISH SKETCH
Line (L) sketch.line SKETCH › CREATE
Draw Dimensioned Sketch Geometry sketch.draw.dimensioned –
2-Point Rectangle (R) sketch.rectangle.two_point SKETCH › CREATE
3-Point Rectangle sketch.rectangle.three_point SKETCH › CREATE
Rounded Rectangle sketch.rectangle.rounded SKETCH › CREATE
Center Rectangle sketch.rectangle.center SKETCH › CREATE
Center Diameter Circle (C) sketch.circle.center SKETCH › CREATE
2-Point Circle sketch.circle.two_point SKETCH › CREATE
3-Point Circle sketch.circle.three_point SKETCH › CREATE
3-Point Arc sketch.arc.three_point SKETCH › CREATE
Center Point Arc sketch.arc.center_point SKETCH › CREATE
Inscribed Polygon sketch.polygon.inscribed SKETCH › CREATE
Circumscribed Polygon sketch.polygon.circumscribed SKETCH › CREATE
Edge Polygon sketch.polygon.edge SKETCH › CREATE
Center to Center Slot sketch.slot.center_to_center SKETCH › CREATE
Overall Slot sketch.slot.overall SKETCH › CREATE
Point sketch.point SKETCH › CREATE
Sketch Dimension (D) sketch.dimension SKETCH › CREATE
Horizontal/Vertical sketch.constraint.horizontal_vertical SKETCH › CONSTRAINTS
Coincident sketch.constraint.coincident SKETCH › CONSTRAINTS
Tangent sketch.constraint.tangent SKETCH › CONSTRAINTS
Equal sketch.constraint.equal SKETCH › CONSTRAINTS
Parallel sketch.constraint.parallel SKETCH › CONSTRAINTS
Perpendicular sketch.constraint.perpendicular SKETCH › CONSTRAINTS
Fix/UnFix sketch.constraint.fix SKETCH › CONSTRAINTS
MidPoint sketch.constraint.midpoint SKETCH › CONSTRAINTS
Concentric sketch.constraint.concentric SKETCH › CONSTRAINTS
Collinear sketch.constraint.collinear SKETCH › CONSTRAINTS
Symmetry sketch.constraint.symmetry SKETCH › CONSTRAINTS
Normal/Construction (X) sketch.construction SKETCH › CREATE
Delete Sketch Entities sketch.delete –
Drag Sketch Point sketch.move_point –
Drag Sketch Geometry sketch.drag –
End Sketch Drag sketch.drag_end –
Move Dimension Text sketch.dimension_text –
Sketch Palette Options sketch.options –
Chain sketch.chain –
Solve Sketch sketch.solve –
Midpoint Line sketch.line.midpoint SKETCH › CREATE
Tangent Arc sketch.arc.tangent SKETCH › CREATE
2-Tangent Circle sketch.circle.two_tangent SKETCH › CREATE
3-Tangent Circle sketch.circle.three_tangent SKETCH › CREATE
Center Point Slot sketch.slot.center_point SKETCH › CREATE
Three Point Arc Slot sketch.slot.arc_three_point SKETCH › CREATE
Center Point Arc Slot sketch.slot.arc_center SKETCH › CREATE
Ellipse sketch.ellipse SKETCH › CREATE
Fit Point Spline sketch.spline.fit_point SKETCH › CREATE
Control Point Spline sketch.spline.control_point SKETCH › CREATE
Control Point Spline (Degree 5) sketch.spline.control_point_5 SKETCH › CREATE
Conic Curve sketch.conic SKETCH › CREATE
Blend Curve sketch.blend_curve SKETCH › MODIFY
Centerline sketch.centerline SKETCH › CREATE
Text sketch.text SKETCH › CREATE
Edit Text sketch.edit_text –
Curvature sketch.constraint.curvature SKETCH › CONSTRAINTS
Polygon sketch.constraint.polygon SKETCH › CONSTRAINTS
AutoConstrain sketch.auto_constrain SKETCH › CONSTRAINTS
AutoConstrain from datum sketch.auto_constrain_from_datum SKETCH › CONSTRAINTS
Finish with AutoConstrain sketch.finish_auto_constrain SKETCH › FINISH SKETCH
Sketch Constrainer sketch.constrainer SKETCH › CREATE
Toggle Driven Dimension sketch.toggle_driven –
Constraint Glyphs sketch.glyphs –
Snap Inference sketch.snap –
Insert DXF sketch.insert_dxf SKETCH › INSERT
Insert SVG sketch.insert_svg SKETCH › INSERT
Save As DXF sketch.export_dxf –
3D Line sketch.line3d –
3D Spline sketch.spline3d –
3D Point sketch.point3d –
Move 3D Point sketch.move3d –
Fillet sketch.fillet SKETCH › MODIFY
Equal Distance Chamfer sketch.chamfer.equal_distance SKETCH › MODIFY
Distance and Angle Chamfer sketch.chamfer.distance_angle SKETCH › MODIFY
Two Distance Chamfer sketch.chamfer.two_distance SKETCH › MODIFY
Offset (O) sketch.offset SKETCH › MODIFY
Break Offset Association sketch.offset.break –
Trim (T) sketch.trim SKETCH › MODIFY
Extend sketch.extend SKETCH › MODIFY
Break sketch.break SKETCH › MODIFY
Sketch Scale sketch.scale SKETCH › MODIFY
Move/Copy Sketch Entities sketch.move SKETCH › MODIFY
Mirror sketch.mirror SKETCH › CREATE
Circular Pattern sketch.pattern.circular SKETCH › CREATE
Rectangular Pattern sketch.pattern.rectangular SKETCH › CREATE
Project (P) sketch.project SKETCH › CREATE
Intersect sketch.intersect SKETCH › CREATE
Include 3D Geometry sketch.include_3d SKETCH › CREATE
Project To Surface sketch.project_to_surface SKETCH › CREATE
Intersection Curve sketch.intersection_curve SKETCH › CREATE
Spun Profile sketch.spun_profile SKETCH › CREATE
Isoparametric Curve sketch.isoparametric_curve SKETCH › CREATE
Fit Curves to Mesh Section sketch.fit_curves_to_section SKETCH › CREATE
Break Link sketch.break_link –
Auto-Project Edges on Reference sketch.auto_project –
Redefine Sketch Plane sketch.redefine –
Copy Sketch Entities sketch.copy –
Cut Sketch Entities sketch.cut –
Paste Sketch Entities sketch.paste –
Inspect Sketch sketch.inspect –

Solid modelling (35)

Command Id Toolbar
Extrude (E) solid.extrude SOLID › CREATE
Revolve solid.revolve SOLID › CREATE
Sweep solid.sweep SOLID › CREATE
Loft solid.loft SOLID › CREATE
Box solid.box SOLID › CREATE
Cylinder solid.cylinder SOLID › CREATE
Sphere solid.sphere SOLID › CREATE
Torus solid.torus SOLID › CREATE
Fillet (F) solid.fillet SOLID › MODIFY
Chamfer solid.chamfer SOLID › MODIFY
Combine solid.combine SOLID › MODIFY
Rectangular Pattern solid.pattern.rectangular SOLID › CREATE
Circular Pattern solid.pattern.circular SOLID › CREATE
Pattern on Path solid.pattern.path SOLID › CREATE
Mirror solid.mirror SOLID › CREATE
Hole (H) solid.hole SOLID › CREATE
Pipe solid.pipe SOLID › CREATE
Bounding Solid solid.bounding_solid SOLID › CREATE
Scale solid.scale SOLID › MODIFY
Offset Face solid.offset_face SOLID › MODIFY
Thread solid.thread SOLID › CREATE
Shell solid.shell SOLID › MODIFY
Draft solid.draft SOLID › MODIFY
Split Face solid.split_face SOLID › MODIFY
Split Body solid.split_body SOLID › MODIFY
Press Pull (Q) solid.press_pull SOLID › MODIFY
Move/Copy (M) solid.move SOLID › MODIFY
Boundary Fill solid.boundary_fill SOLID › CREATE
Coil solid.coil SOLID › CREATE
Rib solid.rib SOLID › CREATE
Web solid.web SOLID › CREATE
Emboss solid.emboss SOLID › CREATE
Replace Face solid.replace_face SOLID › MODIFY
Align solid.align SOLID › MODIFY
Remove solid.remove SOLID › MODIFY

Surfaces (15, 2 planned)

Command Id Toolbar
Patch surface.patch SURFACE › CREATE
Stitch surface.stitch SURFACE › MODIFY
Thicken surface.thicken SURFACE › CREATE
Extend surface.extend SURFACE › MODIFY
Trim surface.trim SURFACE › MODIFY
Surface Extrude surface.extrude SURFACE › CREATE
Surface Revolve surface.revolve SURFACE › CREATE
Surface Sweep surface.sweep SURFACE › CREATE
Surface Loft surface.loft SURFACE › CREATE
Offset Surface surface.offset SURFACE › CREATE
Ruled Surface surface.ruled SURFACE › CREATE
Boundary Surface (planned: #763) surface.boundary SURFACE › CREATE
Blend Surface surface.blend SURFACE › CREATE
Untrim surface.untrim SURFACE › MODIFY
Unstitch surface.unstitch SURFACE › MODIFY
Reverse Normal surface.reverse_normal SURFACE › MODIFY
Surface Fillet (planned: #769) surface.fillet SURFACE › MODIFY

Construction geometry (19)

Command Id Toolbar
Offset Plane construct.plane.offset SOLID › CONSTRUCT
Plane at Angle construct.plane.at_angle SOLID › CONSTRUCT
Axis Through Cylinder/Cone/Torus construct.axis.through_cylinder SOLID › CONSTRUCT
Axis Perpendicular To Face construct.axis.normal_to_face SOLID › CONSTRUCT
Axis Through Two Planes construct.axis.two_planes SOLID › CONSTRUCT
Axis Through Two Points construct.axis.two_points SOLID › CONSTRUCT
Axis Through Edge construct.axis.edge SOLID › CONSTRUCT
Point At Vertex construct.point.vertex SOLID › CONSTRUCT
Point Through Two Edges construct.point.two_edges SOLID › CONSTRUCT
Point Through Three Planes construct.point.three_planes SOLID › CONSTRUCT
Point At Center Of Circle/Sphere/Torus construct.point.center SOLID › CONSTRUCT
Point At Edge And Plane construct.point.edge_plane SOLID › CONSTRUCT
Point Along Path construct.point.along_path SOLID › CONSTRUCT
Midplane construct.plane.midplane SOLID › CONSTRUCT
Plane Through Two Edges construct.plane.two_edges SOLID › CONSTRUCT
Plane Through Three Points construct.plane.three_points SOLID › CONSTRUCT
Tangent Plane construct.plane.tangent SOLID › CONSTRUCT
Plane Along Path construct.plane.along_path SOLID › CONSTRUCT
Perpendicular Plane construct.plane.perpendicular SOLID › CONSTRUCT

Sheet metal (12)

Command Id Toolbar
Flange sheet.flange SHEET METAL › CREATE
Perforate sheet.perforate SHEET METAL › CREATE
Hem sheet.hem SHEET METAL › CREATE
Fold sheet.fold SHEET METAL › CREATE
Unfold sheet.unfold SHEET METAL › MODIFY
Refold sheet.refold SHEET METAL › MODIFY
Convert to Sheet Metal sheet.convert SHEET METAL › CREATE
Sheet Metal Rules sheet.manage_rules SHEET METAL › MODIFY
List Sheet Metal Rules sheet.rules –
Create Flat Pattern sheet.flat_pattern SHEET METAL › CREATE
Export Flat Pattern as DXF sheet.export_dxf –
Export Bend Table sheet.export_bend_table –

Plastic parts (7)

Command Id Toolbar
Boss plastic.boss PLASTIC › CREATE
Lip plastic.lip PLASTIC › CREATE
Snap Fit plastic.snap_fit PLASTIC › CREATE
Rest plastic.rest PLASTIC › CREATE
Manage Plastic Rules plastic.manage_rules PLASTIC › SETUP
Assign Plastic Rule plastic.assign_rule PLASTIC › SETUP
List Plastic Rules plastic.rules –

Components (17)

Command Id Toolbar
New Component component.create SOLID › ASSEMBLE
Create Components from Bodies component.from_bodies –
Activate Component component.activate –
List Components component.list –
Component Physical Properties component.properties –
Rename Component component.rename –
Delete Component component.delete –
Unlock Contents component.unlock –
Move Bodies to Component component.move_bodies –
Move Sketches to Component component.move_sketches –
Paste New component.paste_new –
Capture Position component.capture_position SOLID › POSITION
Revert Position component.revert_position SOLID › POSITION
Insert Design component.insert_design SOLID › ASSEMBLE
Update Links component.update_links –
Break Link component.break_link –
List Links component.links –

Assembly joints (11)

Command Id Toolbar
Joint Origin joint.origin SOLID › CREATE
Joint (J) joint.create SOLID › ASSEMBLE
As-Built Joint joint.as_built SOLID › ASSEMBLE
Rigid Group joint.rigid_group SOLID › ASSEMBLE
Drive Joints joint.drive SOLID › ASSEMBLE
Motion Link joint.motion_link SOLID › ASSEMBLE
Joint Limits joint.limits –
Edit Joint joint.edit –
Delete Joint joint.delete –
List Joints joint.list –
Solve Joints joint.solve –

Configurations (8)

Command Id Toolbar
Configure config.configure SOLID › CONFIGURE
Display Configuration Table config.table SOLID › CONFIGURE
Configuration Column config.column –
Configuration Row config.row –
Activate Configuration config.activate –
Preview Configuration config.preview –
Configuration Rule config.rule –
Configuration Rules config.rules –

Timeline (21)

Command Id Toolbar
Compute All timeline.compute_all SOLID › MODIFY
Delete (Delete) timeline.delete SOLID › MODIFY
Rename timeline.rename –
New Feature Folder timeline.group –
Remove Feature Folders timeline.ungroup –
Rename Feature Folder timeline.rename_group –
Move Features to Folder timeline.move_to_group –
Move Timeline Items timeline.move_many –
Move Timeline Marker timeline.rollback –
Roll History Marker timeline.roll_to –
Reorder Feature timeline.reorder –
Reorder Features timeline.reorder_many –
Edit Feature timeline.redefine –
Feature Dependents timeline.dependents –
Suppress Feature timeline.suppress –
Edit Feature timeline.edit –
Inspect Feature timeline.inspect –
Copy Features timeline.copy –
Paste Features timeline.paste –
Add Recorded Feature timeline.add –
Export Command Script timeline.export_script –

Inspect (13, 1 planned)

Command Id Toolbar
Curvature Comb Analysis inspect.curvature_comb SKETCH › INSPECT
Minimum Radius Analysis inspect.minimum_radius SKETCH › INSPECT
Isocurve Analysis inspect.isocurve SKETCH › INSPECT
Center of Mass inspect.center_of_mass SKETCH › INSPECT
Zebra Analysis inspect.zebra SKETCH › INSPECT
Draft Analysis inspect.draft SKETCH › INSPECT
Environment Map Analysis inspect.environment_map SKETCH › INSPECT
Accessibility Analysis inspect.accessibility SKETCH › INSPECT
Curvature Map Analysis inspect.curvature_map SKETCH › INSPECT
Continuity Analysis (planned: #770) inspect.continuity SURFACE › INSPECT
Interference inspect.interference SOLID › INSPECT
Measure (I) inspect.measure SOLID › INSPECT
Compare Bodies inspect.compare –
Section Analysis inspect.section SOLID › INSPECT

Files (8)

Command Id Toolbar
New Design (Ctrl+N) file.new –
Insert STEP file.insert_step SOLID › INSERT
Insert Mesh file.insert_mesh SOLID › INSERT
Save (Ctrl+S) file.save –
Save As file.save_as –
Export file.export –
Save As Mesh file.save_mesh MESH › MODIFY
Installed Slicers file.slicers –

Documents (4)

Command Id Toolbar
Open (Ctrl+O) doc.open –
Recoverable Designs doc.recovery_list –
Recover Design doc.recover –
Discard Recovered Design doc.recovery_discard –

Edit (4)

Command Id Toolbar
Undo (Ctrl+Z) edit.undo –
Redo (Ctrl+Y) edit.redo –
Checkpoint edit.checkpoint –
Restore Checkpoint edit.restore_checkpoint –

appearance.* (3)

Command Id Toolbar
Appearance (A) appearance.assign SOLID › MODIFY
Appearance Library appearance.library –
List Appearances appearance.list –

body.* (1)

Command Id Toolbar
Rename Body body.rename –

browser.* (6)

Command Id Toolbar
New Group browser.group –
Ungroup browser.ungroup –
Rename Group browser.rename_group –
Move Browser Items browser.move –
Order Browser Items browser.order –
Show/Hide browser.visibility –

canvas.* (5)

Command Id Toolbar
Canvas canvas.insert SKETCH › INSERT
Decal canvas.decal SKETCH › INSERT
Edit Canvas canvas.edit SKETCH › INSERT
Calibrate Canvas canvas.calibrate –
Delete Canvas canvas.delete –

contact.* (7)

Command Id Toolbar
Enable Contact Sets contact.enable_sets SOLID › ASSEMBLE
Enable All Contact contact.enable_all SOLID › ASSEMBLE
Disable Contact contact.disable_all SOLID › ASSEMBLE
New Contact Set contact.create SOLID › ASSEMBLE
Edit Contact Set contact.edit –
List Contact Sets contact.list –
Check Contact contact.check –

diagnostics.* (4)

Command Id Toolbar
Crash Reports diagnostics.crash_reports –
Crash Report diagnostics.crash_report –
Delete Crash Reports diagnostics.crash_reports.clear –
Crash Test diagnostics.crash_test –

document.* (5)

Command Id Toolbar
Change Design Units document.units –
Design Properties document.metadata –
Change Design Properties document.metadata.set –
Remove Design Property document.metadata.remove –
Inspect Design document.inspect –

engine.* (1)

Command Id Toolbar
List Commands engine.commands –

explode.* (4)

Command Id Toolbar
Exploded View explode.create SOLID › ASSEMBLE
Show Exploded View explode.show –
List Exploded Views explode.list –
Delete Exploded View explode.delete –

expr.* (1)

Command Id Toolbar
Evaluate Expression expr.evaluate –

face.* (1)

Command Id Toolbar
Delete Face face.delete SOLID › MODIFY

library.* (3)

Command Id Toolbar
Inspect Local Library library.inspect –
Export Design Library library.export –
Apply Local Library Entry library.apply –

material.* (7)

Command Id Toolbar
Physical Material material.assign SOLID › MODIFY
List Materials material.list –
New Physical Material material.create –
Edit Physical Material material.edit –
Delete Physical Material material.delete –
Validate Physical Material Data material.properties.validate –
Directional Elastic Modulus material.properties.directional –

mesh.* (1)

Command Id Toolbar
Convert Mesh mesh.convert –

model.* (3)

Command Id Toolbar
List Edges model.edges –
List Faces model.faces –
List Threads model.threads –

motion.* (5)

Command Id Toolbar
Motion Study motion.study SOLID › ASSEMBLE
Play Motion Study motion.play –
Export Motion Study motion.export –
List Motion Studies motion.list –
Delete Motion Study motion.delete –

occurrence.* (4)

Command Id Toolbar
Occurrence Physical Properties occurrence.properties –
Paste (Instance) occurrence.copy –
Move Occurrence occurrence.move –
Ground occurrence.ground –

parameters.* (13)

Command Id Toolbar
Change Parameters parameters.change SOLID › MODIFY
List Parameters parameters.list –
Add User Parameter parameters.add –
Rename Parameter parameters.rename –
Delete Parameter parameters.delete –
Favourite Parameter parameters.favorite –
Move Parameter parameters.move –
Comment Parameter parameters.comment –
Parameter Users parameters.users –
Parameter Graph parameters.graph –
Export Parameters parameters.export –
Import Parameters parameters.import –
Complete Expression parameters.complete –

parts.* (4)

Command Id Toolbar
Standard Parts parts.library –
Insert Fastener parts.fastener SOLID › INSERT
Insert Part parts.insert –
Change Part Size parts.resize –

render.* (10)

Command Id Toolbar
Check Render Request render.preflight –
Render Image render.start RENDER › IMAGE
Render Progress render.status –
Cancel Render render.cancel –
Export Render Image render.export –
Render Backends render.backends –
Render Settings render.settings.get –
Save Render Settings render.settings.set –
Inspect Render Scene render.scene RENDER › SCENE
Apply Render Camera render.settings.apply –

select.* (2)

Command Id Toolbar
Select select.set –
Clear Selection select.clear –

selection.* (1)

Command Id Toolbar
Delete selection.delete –

view.* (6)

Command Id Toolbar
New Named View view.save –
Rename Named View view.rename –
Delete Named View view.delete –
List Named Views view.list –
Restore Named View view.apply –
Navigate View view.navigate –