Files
OneCAD/docs/features.md
T
Jonas Wrede 14635e5d3a feat: user-defined physical materials stored in the design (#532) (#606)
A design can define its own physical materials (material.create, material.edit, material.delete): name, density and an optional look. They work everywhere built-in materials do: assignment, mass properties, colours and configuration cells. Stored in user_materials, an additive field under format 16. Un-ignores the #554 regression test. Fixes #532.

Co-authored-by: jonaswre <jonas.wrede@beyondit.gmbh>
2026-10-13 04:47:23 -04:00

20 KiB
Raw Blame History

Features

SolidCraft's commands by area, generated by cargo xtask features from the command registry (solidcraft-cli commands). 322 commands. 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 (98)

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
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 –
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 –
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 (5)

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

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 (11)

Command Id Toolbar
Flange sheet.flange 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 (12)

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 –
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

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 (13)

Command Id Toolbar
Compute All timeline.compute_all SOLID › MODIFY
Delete (Delete) timeline.delete SOLID › MODIFY
Rename timeline.rename –
Move Timeline Marker timeline.rollback –
Roll History Marker timeline.roll_to –
Reorder Feature timeline.reorder –
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 –

Inspect (12)

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
Interference inspect.interference SOLID › INSPECT
Measure (I) inspect.measure SOLID › INSPECT
Section Analysis inspect.section SOLID › INSPECT

Files (7)

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 –

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.* (2)

Command Id Toolbar
Change Design Units document.units –
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

material.* (5)

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 –

mesh.* (1)

Command Id Toolbar
Convert Mesh mesh.convert MESH › MODIFY

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.* (12)

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 –
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 –

select.* (2)

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

selection.* (1)

Command Id Toolbar
Delete selection.delete –

view.* (4)

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