drawing_gate
Validate a drawing's dimension set for manufacturing completeness, ensuring it fully and non-redundantly defines the part, and flagging missing, redundant, or conflicting dimensions.
Instructions
Manufacturing-completeness gate for a drawing page: does the placed dimension set fully and non-redundantly reconstruct the part? A green render is not a manufacturable drawing — this validates the drawing itself, the way the geometry-realizes-declaration gate validates an assembly.
Reads the real solid + the placed dimensions and accounts degrees of freedom, process-aware: a 'prismatic' (milled/plate) part must locate each hole by X/Y from a datum and size the block W×H×T; a 'turned' part is concentric, so a step needs only Ø + axial length. process='auto' infers it from the geometry.
Returns {ok, violations, slots_total, slots_covered, process, features,
dimensions, enumerated_features, datum_faces, section_recommended}.
section_recommended ({recommended, reasons, feature_ids}) advises whether the
part has internal geometry that needs a cross-section (see add_section_view).
Each violation has a code
(under = a feature size/location is missing; redundant = a DOF dimensioned more
than once; conflict = dimensioned twice with disagreeing values; extra = a dim
that pins nothing; no_datum = a location not taken from a datum) and a human
reason. ok=True (empty violations) means the drawing is manufacturing-complete.
Datum-origin discipline turns on automatically when the part has faces annotated role='datum' (annotate_face): a location dimension not measured from a datum face is then flagged no_datum. Set datums_declared=True to force the check on even without annotated datums.
require_ballooned=True additionally demands that every characteristic carries an
inspection balloon (see balloon_drawing) — the requirement a release flow imposes
when the drawing must ship with an inspection plan. Unballooned characteristics
become not_ballooned violations and fail the gate. The ballooned
({ok, total, ballooned, missing}) summary is reported either way.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| process | No | auto | |
| datums_declared | No | ||
| require_ballooned | No |