Appearance
Tolerancing DSL
Tolerancing
refSurface(selector) -> RefSurfacerefFrame(selector) -> RefFramerefEdge(selector) -> RefEdgerefAxis(selector) -> RefAxisrefPoint(selector, locator?) -> RefPointdatumFeature(id, label, target, opts?) -> FTIDatumdatumRef(datumId, modifiers?) -> DatumRefsurfaceProfileConstraint(id, target, tolerance, opts?) -> SurfaceProfileConstraintflatnessConstraint(id, target, tolerance, opts?) -> FlatnessConstraintparallelismConstraint(id, target, tolerance, datumRefs, opts?) -> ParallelismConstraintperpendicularityConstraint(id, target, tolerance, datumRefs, opts?) -> PerpendicularityConstraintpositionConstraint(id, target, tolerance, datumRefs, opts?) -> PositionConstraintsizeConstraint(id, target, opts) -> SizeConstraintdimensionDistance(id, from, to, opts?) -> DimensionDistancedimensionAngle(id, from, to, opts?) -> DimensionAnglecosmeticThread(id, target, opts?) -> CosmeticThread
Notes:
- Cosmetic threads are preferred for most cases; they propagate to PMI and STEP AP242.
- For
dimensionDistanceanddimensionAngle, includenominalwhenevertoleranceorplus/minusare provided. - Use
evaluatePartDimensions(part, kernelResult, opts?)to evaluate semantic dimensions from resolved kernel metadata (center,normalVec/normal). refPoint(..., locator)is intent-first and derives a point from an existing semantic selection rather than exposing raw kernel vertices.- Supported locators:
centerfor faces/edges/solids/surfacesmidfor edgesstart/endfor open edges
- Runtime mesh selection metadata can expose the same derived anchors under
selection.meta.pointAnchorsfor application-side discovery. That metadata is descriptive only; authored documents should still userefPoint(selectorNamed("<source-id>"), "<locator>"). - For application round-tripping,
refPoint(selectorNamed("<source-id>.point.<locator>"))is also supported. This lets a client feed a discovered anchor id back into a constraint without introducing a separate top-level point selector kind.
- Supported locators:
Examples: