add_assembly_interface
Define how two parts connect by specifying joint type, clearance, and optional fastener hardware so assembly validation and clearance checks can run. Enables accurate BOMs and manuals.
Instructions
Add a mating interface between two parts in an assembly.
Defines how two parts connect (joint type and clearance),
which is used during validation and clearance checking. For
screw/anchor-based joints, ``fastener`` may provide an
explicit hardware spec so downstream manuals and BOM tools do
not have to guess from clearance alone.
Args:
assembly_json: JSON string of the current assembly state.
part_a_id: ID of the first part in the interface.
part_b_id: ID of the second part in the interface.
joint_type: Type of joint (default ``"clearance_fit"``).
clearance_mm: Clearance gap in mm (default 0.2). For
``"interference_fit"`` pass a NEGATIVE value (the
part is intentionally larger than its socket);
interference geometry is the entire point.
magnet_polarity_aligned: Only meaningful when
``joint_type == "magnetic"``. ``True`` declares
the designer has confirmed which poles face each
other in each magnet pocket; ``None`` means
unknown. Downstream tooling refuses to ship a
hand-wavy "make sure they pull together"
instruction when polarity is unknown.
fastener: Optional FastenerSpec as a dict or JSON object
string. Supported keys include ``size``, ``family``,
``length_mm``, ``length_range_mm``, ``head_type``,
``drive_type``, ``surface_type``,
``quantity_per_interface``, and ``notes``.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"assembly_json": "<assembly_json>",
"part_a_id": "<part_a_id>",
"part_b_id": "<part_b_id>"
},
"name": "add_assembly_interface"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fastener | No | Optional FastenerSpec as a dict or JSON object string. Supported keys include ``size``, ``family``, ``length_mm``, ``length_range_mm``, ``head_type``, ``drive_type``, ``surface_type``, ``quantity_per_interface``, and ``notes``. | |
| part_a_id | Yes | ID of the first part in the interface. | |
| part_b_id | Yes | ID of the second part in the interface. | |
| joint_type | No | Type of joint (default ``"clearance_fit"``). Default: "clearance_fit". | |
| clearance_mm | No | Clearance gap in mm (default 0.2). For ``"interference_fit"`` pass a NEGATIVE value (the part is intentionally larger than its socket); interference geometry is the entire point. Default: 0.2. | |
| assembly_json | Yes | JSON string of the current assembly state. | |
| magnet_polarity_aligned | No | Only meaningful when ``joint_type == "magnetic"``. ``True`` declares the designer has confirmed which poles face each other in each magnet pocket; ``None`` means unknown. Downstream tooling refuses to ship a hand-wavy "make sure they pull together" instruction when polarity is unknown. |