assembly_transform_occurrence
Moves an assembly occurrence by relative rotation and translation or sets its absolute origin and X/Y axes; reports whether the new position was captured.
Instructions
Move an occurrence in assembly space: relative (rotate about an axis through origin_mm, then translate by translate_mm, mm/degrees) or absolute (origin and X/Y axes). Grounded occurrences are refused (INVALID_PARAMS): unground them with assembly_set_occurrence_state first. Occurrences held by joints snap back to the joints on recompute (see "constrained_by_joints"); drive joints instead.
Returns {"occurrence": occurrence, "captured": bool (a position snapshot was added in a parametric design), "constrained_by_joints": bool}.
Example: assembly_transform_occurrence(occurrence="occurrence:Lid:1", translate_mm=[0, 0, 40]) -> {"occurrence": {"transform": {"translation_mm": [0, 0, 40], ...}}, "captured": true, ...}; rotate={"axis": [0, 0, 1], "angle_deg": 90}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rotate | No | Rotation about an axis (applied before translate_mm) | |
| absolute | No | Absolute placement; excludes translate_mm and rotate | |
| occurrence | Yes | Occurrence: 'occurrence:<fullPathName>' (e.g. 'occurrence:Box:1', nested 'occurrence:Box:1+Hinge:1') as returned by assembly_list | |
| translate_mm | No | [dx, dy, dz] in mm, in assembly space | |
| capture_position | No | Fix the new position with a timeline 'Position' snapshot |