create_joint
Create a joint between two geometry handles to define rigid, revolute, slider, cylindrical, or ball motion, with optional axis, offset, and angle. Enables assembly constraints in Fusion 360.
Instructions
Create a Joint between two entity-handle origins.
Joint origins are specified as entity handles (kind:path:token). Supported kinds: face (planar OR cylindrical/conical), edge (uses MiddleKeyPoint), vertex (uses Point), point (sketch point). Get handles from list_body_entities for face/edge/vertex, or use the sketch tools' returned handles for sketch points.
motion_type: one of rigid, revolute, slider, cylindrical, ball.
rigid: locks the two origins; no DOF
revolute: 1 DOF rotation about
axis(use for hinges)slider: 1 DOF translation along
axiscylindrical: rotation + translation along
axisball: 3 DOF rotation (axis arg ignored; Fusion only accepts pitch=Z, yaw=X, which is what gets used)
axis: x | y | z, relative to the first joint geometry's local frame. For typical face-normal rotation (hinge pin coming out of the face) use z.
offset_mm: optional ValueInput expression for lateral offset between the two geometries. A snap hinge typically needs a few mm here to hold the gap between mating flanges. Preserved across user-param changes (unlike Move-based positioning).
angle_deg: optional initial angle (revolute / cylindrical).
name: optional joint name in the timeline.
Returns {ok, joint_name, joint_token, motion_type, axis, offset_mm, angle_deg}. Use joint_name for downstream drive_joint / set_joint_limits calls.
Errors:
handle_invalid: one of the geometry handles could not be resolved.
joint_geometry_failed: face/edge/vertex/point handle resolved but Fusion could not build a JointGeometry from it (e.g. degenerate face).
joints_add_failed: joint inputs were valid but Fusion refused the joint (usually means the two geometries are mateable only with a different motion type, or one geometry is in a frozen component).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | z | |
| name | No | ||
| angle_deg | No | ||
| offset_mm | No | ||
| motion_type | No | rigid | |
| geometry_one | Yes | ||
| geometry_two | Yes |