solidcraft-mechanisms
SolidCraft mechanisms
Overview
An assembly is components placed by joints. Work the mechanism out as world points and axes first: every pin, slide and hinge, which part each one joins, and the value you expect at each pose. Then give every joint origin by those coordinates, and check each step against a number you computed yourself. A drive that reports success can still have moved nothing. Command shapes, a worked example, the traps and reply sizes are in reference.md next to this file. To build the parts themselves, use solidcraft-modeling.
Written against SolidCraft main after 0.11.1, which counts the degrees of freedom of closed loops, carries motion links through chains made in any order, and answers drives in degrees with moved (and a reason when nothing could move).
Before the first call
- In SolidCraft's own chat or any MCP client, call
skill_reference {"skill":"solidcraft-mechanisms"}. Elsewhere, readreference.md. - Open: if the design is not open yet, run
open {path}. When the server is bridged to the app and the current design isdirty, ask before opening anything. - Map it: run
inspect_design {"measure":false,"sketches":false}, thenexecute joint.list.joint.listshowsfixed(the grounded occurrences, always with the root, 0),dofper occurrence,conflicts, the joints, links and named origins, at about 0.5 KB per joint.execute motion.listlists the motion studies. - Existing design: take
edit.checkpointin its own call before you move bodies into components.edit.restore_checkpoint {checkpoint}goes back exactly, once: restoring uses the checkpoint up, so take a new one to go back again. - Write the plan:
- the components, and which one is grounded
- each joint: type, the two occurrences, its world point and axis, limits
- each motion link and its ratio
- for each loop, the relation you will check, such as actuator stroke against hinge angle, and where it should stop
- the pose to return to before saving