ISO 23952 QIF Digital Metrology & GD&T (.qif, .xml)
@modelscript/qif (languages/qif) provides native WebAssembly parsing, ASME Y14.5 / ISO 1101 Geometric Dimensioning and Tolerancing (GD&T) validation, Statistical Process Control (SPC) capability evaluation (DAEBuilder / Modelica / SysML v2 lowering for ISO 23952 Quality Information Framework (QIF 3.0) metrology documents.
Supported Extensions & Standards
| Extension | Format | Description |
|---|---|---|
.qif | ISO 23952 QIF 3.0 | XML document encoding QIF MBD features, datum reference frames, GD&T characteristics, measurement plans, and CMM actual results |
.xml | QIF XML | Standard QIF XML schema document with persistent QPID UUIDs |
Key Capabilities
1. MBD Features, Datums & GD&T Characteristics
- Parses QIF Model-Based Definition (
QIFDocument) sections:- Datum Definitions & Reference Frames (
DatumDefinitions,DatumReferenceFrames): Primary, secondary, and tertiary datum precedence with material condition modifiers (MMC,LMC,RFS). - Features (
FeatureDefinitions,FeatureItems): Cylindrical, planar, spherical, and point geometric features with nominal locations and normals. - Characteristics (
CharacteristicDefinitions,CharacteristicItems): Dimensional tolerances, flatness, cylindricity, perpendicularity, true position, and surface profile tolerances.
- Datum Definitions & Reference Frames (
2. Statistical Process Control (SPC) & Test Uncertainty Ratio (TUR)
- Evaluates measured Coordinate Measuring Machine (CMM) actuals (
MeasurementsResults) against nominal tolerances: - Flags processes with
or measurement devices violating the metrology rule.
3. STEP AP242 Reconciliation & DAE Lowering
- Reconciles QIF inspection characteristics directly against ISO 10303-21 STEP AP242 CAD geometry (
reconcileStepWithQif) or synthesizes baseline QIF inspection plans from STEP PMI (synthesizeQifFromStep). - Lowers tolerance stack-ups and CMM measurement equations into
@modelscript/runtime'sDAEBuilderarena and projects them into Modelica and SysML v2 verification models.
Pre-Flight Diagnostics
9 rules8 error1 warning
| Code | Rule | Severity | Message |
|---|---|---|---|
M8101 | qif-unresolved-qpid | error | Unresolved <refKind> reference '<refId>' in '<contextName>'. |
M8102 | qif-duplicate-qpid | error | Duplicate identifier or QPId '<idOrQpId>' declared on '<elementName>'. |
M8103 | qif-invalid-datum-precedence | error | Duplicate datum label '<datumLabel>' in DatumReferenceFrame of characteristic '<charName>'. |
M8104 | qif-invalid-material-modifier | error | Material condition modifier '<modifier>' cannot be applied to '<targetDesc>' in characteristic '<charName>'. |
M8105 | qif-composite-frame-mismatch | error | Composite lower-tier tolerance '<lowerTol>' must be strictly less than upper-tier tolerance '<upperTol>' in characteristic '<charName>'. |
M8106 | qif-insufficient-probing-points | error | Probing point count '<actualPoints>' is below minimum required '<requiredPoints>' for '<featureType>' in '<targetName>'. |
M8107 | qif-tur-uncertainty-warning | warning | Test Uncertainty Ratio '<tur>:1' is below required minimum '<minTur>:1' for device '<deviceName>' on characteristic '<charName>'. |
M8108 | qif-out-of-tolerance-actual | error | Actual '<actualId>' has measured value '<measuredVal>' against effective tolerance '<effTol>' but is marked '<status>' for characteristic '<charName>'. |
M8109 | qif-unresolved-step-entity | error | Referenced STEP AP242 entity '<stepEntityId>' on feature '<featureName>' was not found in the CAD model. |
Generated from languages/qif/src/lints/rules.ts. All languages →
CLI Usage
bash
# Inspect QIF datums, features, GD&T characteristics, and CMM actuals
msx qif inspect TurbineBladeInspection.qif
# Validate ASME Y14.5 GD&T datum frames, QPIDs, and TUR ratios
msx qif validate TurbineBladeInspection.qif
# Compute Statistical Process Control (Cp, Cpk, pass/fail) metrics
msx qif spc TurbineBladeInspection.qif
# Reconcile QIF inspection characteristics against a STEP AP242 CAD assembly
msx qif reconcile-step TurbineBladeInspection.qif --step=TurbineBlade.step
# Project QIF tolerances to SysML v2 or Modelica
msx qif to-sysml TurbineBladeInspection.qif -o BladeMetrology.sysml
msx qif to-modelica TurbineBladeInspection.qif -o BladeMetrology.mo
