Mechanical: Dimension Part
mech_dimension_partDimensions a part and its features without overlaps, chaining axial lengths, stacking diameters, and adding radii. Resolves ISO 286 fits and skips views already dimensioned.
Instructions
Every dimension the part and its features ask for, laid out without overlaps.
Axial lengths are chained, stacked from a baseline or measured from an
origin; diameters stack outside the silhouette; fillets get a radius. Each
measurement appears once (ISO 129-1): every view record carries a
dimensioned flag, so after a mech_part_draw that dimensioned the front
view and a mech_view_add, this call dimensions only the new view, and
views naming a view already dimensioned is refused by name. fits resolves an ISO 286 code
against the measured nominal through the repository's authored tables and
appends the code to the dimension text; an explicit tol on a feature's own
intent does the same through the ISO 129 path.
Refused by name: a fit together with an explicit tolerance, a fit outside
the authored ISO 286 range (over 1 mm to 500 mm, IT4-IT11), a fit on an
intent with no measurable nominal, an unknown style, an unknown part_id, a
call when every view is already dimensioned (the message lists them), and
part_id=None on a drawing that holds more than one part. An angular intent
is reported in skipped rather than drawn, because a DimIntent carries no
vertex.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fits | No | ISO 286 fit per feature id, e.g. {'bearing_seat': 'k6', 'bore': 'H7'} | |
| style | No | Axial dimension style: chain | baseline | ordinate | chain |
| views | No | View indices to dimension, in mech_part_inspect order (default: every view not yet dimensioned) | |
| part_id | No | Anchor handle from mech_part_draw; omit if the drawing holds one part | |
| hole_table_threshold | No | Above this many holes the diameters move into a hole table |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||