counterpart_make_3mf
Combine separately exported STL parts into one 3MF assembly for multi-colour printing, preserving relative positions and assigning each part its filament number.
Instructions
Counterpart contract (counterpart/1): combine STL parts exported separately (for example each body of a design) into one new 3MF for multi-colour printing. The parts keep their relative positions as one assembly, and each part prints with its filament number (default: part 1 uses filament 1, part 2 filament 2, and so on). Slice it with slice_stl, passing one load_filaments profile per filament number, then print it with print_3mf and ams_mapping or ams_slots. Never overwrites a file.
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": {
"parts": "<parts>",
"out_path": "<out_path>"
},
"name": "counterpart_make_3mf"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| parts | Yes | The parts, in filament order. | |
| out_path | Yes | New .3mf path whose parent directory exists. Existing files are never overwritten. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path of the written 3MF. | |
| parts | Yes | ||
| objects | Yes | Objects in the 3MF: one assembly. | |
| contract | Yes | ||
| filaments | Yes | Highest filament number any part uses; pass that many load_filaments to slice_stl. |