opencad
← Reconstruction corpus
ReconstructionPASS 11/11

NIST AM test artifact

The NIST additive-manufacturing test artifact (Moylan et al. 2014) from its drawing and paper.

Facts

Backend
Zoo KCL
Gates
11 pass, 0 fail, 1 n/a
Bounding box
141.4 × 141.4 × 17.0 mm
Volume
100.99 cm³
Release
reconstruction
Truth case
yes, scored against held-back geometry

Print files

FileKindSize
nist-am-test-artifact.stepSTEP0.3 MB
nist-am-test-artifact.stlSTL0.8 MB

Source

contract.yaml (design contract)

Design intent

Reconstruct the NIST Additive Manufacturing Test Artifact (Moylan et al. 2014, Fig. 8) as editable, parameterized KCL from the attached drawing, paper excerpts, renders, section drawings and dimension sheet. Frame: origin at the centre of the top surface, z = 0 on the top surface with +z toward the pin tips (the base extends to z = -10, features to z = +7), the Ø10 centre hole on the z axis, +x toward the Ø4 hole at x = +60; the four rows of Ø4 pins (20, 30, 40, 50) and the four Ø4 holes (60) lie on the +-x and +-y axes; the diamond base is a 100 mm square rotated 45 deg (corners on the axes at 70.71). Model every feature at its stated size and position: centre hole and two concentric central cylinders, 16 pins and 4 holes, both L-shaped staircases with 1 mm steps and 10 mm treads, the 1-in-25 ramp with 2.5 mm landings, the lateral cavities and bosses on one side, the five fine pins and five fine holes (Ø2 to Ø0.25, 2 mm tall/deep) and the fine rectangular bosses and slots. Small features are scored individually: a correct base cannot compensate for a missing pin. One solid; export STEP and STL. The reference CAD is evaluator-only; the deliverable must be construction, never an import.

Gates

TierGateResultEvidence
Acontract_provenance
Contract validates; stated/measured sources resolve to bundle files; no blocking open questions; interfaces pinned by checks
PASSdesigns/nist-am-test-artifact/contract.yaml: 64 parameters {'stated': 49, 'derived': 3, 'measured': 9, 'inferred': 3}; sources unresolved {}; unanchored 0
Aenvelope
Bounding box of the exported STEP equals the contract envelope
PASSresults/zoo/nist-am-test-artifact/inspect.json bbox.max_error = 0.0 (tol 0.03)
Amass_properties
Volume, surface area and centre of mass within contract tolerance (independent STEP measurement)
PASSresults/zoo/nist-am-test-artifact/inspect.json volume = 100987.0687 vs 100987.061651834
Afeatures
Every required feature, section, named face, cylinder axis, plane, dimension, body, clearance, passage, wall, gear and symmetry check verified on the STEP
PASSresults/zoo/nist-am-test-artifact/inspect.json features: 79/79 ok; failed required []; failed optional []; unverified []
Areference_fidelity
Deviation from the reference model within the contract band (when a reference exists)
n/aresults/zoo/nist-am-test-artifact/inspect.json deviation.p95 = None hausdorff = None silhouette_iou_min = None
Bexport_agreement
Engine, STEP (OpenCascade) and STL (trimesh) volumes agree
PASSresults/zoo/nist-am-test-artifact/inspect.json agreement engine=100985.85825449775 step=100987.0686858851 stl=100985.85663524862 (rel tol 0.002; independent=True)
Bedit_robustness
Declared parameter edits rebuild with the expected effect, undriven interfaces stay put, sweeps regenerate, infeasible values are refused; baseline re-export hash unchanged
PASSresults/zoo/nist-am-test-artifact/edit.json 3/3 edit tests ok; restore.ok = True
Bsource_hygiene
Dialect, units, formatted, lint-clean, named parameters match the contract, asserts present
PASSresults/zoo/nist-am-test-artifact/verify.json hygiene: dialect=True unit=True legacy=[] params_ok=True asserts=87
Cexport_integrity
Deterministic STEP (two exports identical), valid B-rep, expected solid count, watertight STL (solid shells == solids)
PASSresults/zoo/nist-am-test-artifact/export.json step.deterministic = True sha256 526ab382a468; stl=present; glb=present
Ctraceability
Every stage JSON present with tool versions, git head, worker thread ids, engine-call ledger; no --allow-errors
PASSstages present: {'plan': True, 'model': True, 'verify': True, 'export': True, 'inspect': True, 'edit': True}
Cevidence_separation
Contract agreement, reference agreement and physical validation are reported as separate verdicts
PASSresults/zoo/nist-am-test-artifact/inspect.json carries contract checks (volume/bbox/features) and a separate deviation block (reference = None)
Cindependence
The source is editable construction: no import of reference geometry, construction ops present
PASSresults/zoo/nist-am-test-artifact/verify.json hygiene.forbidden_imports = [] construction_ops = {'sketch_blocks': 50, 'feature_ops': 102} lines = 1414