place_and_mate
Position a component at an exact target pose and create mates to capture the intended assembly branch, with verification that the pose is held after mating.
Instructions
Posicionar y matear — pose a component exactly, THEN create its mates.
The branch-safe mating recipe: angle/distance mates are bistable (two
solutions; rebuilds can flip to the mirror). Creating each mate while the
component already sits at the exact target pose makes the solver capture
the intended branch. After the mates, the pose is read back and compared
against the request — pose_held=False means a mate pulled the component
elsewhere (wrong branch / conflicting mate): fix it, don't trust it.
Args: component_name: Instance name from get_active_assembly_info. origin_mm / rotation_rows: Exact target pose (see move_component). mates: Ordered mate specs, each {"type": "coincident"|"concentric"|"distance"|"angle", "entity1_id": ..., "entity2_id": ..., "component2_name": ..., # the mate partner "align": "ALIGNED"|"ANTIALIGNED", # optional "distance_mm": float, "angle_deg": float} # per type pose_tolerance_mm: Max |Δorigin| per axis for pose_held (default 0.1).
Returns {pose_before, mates, pose_after, pose_held}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mates | No | ||
| origin_mm | Yes | ||
| rotation_rows | No | ||
| component_name | Yes | ||
| pose_tolerance_mm | No |