Skip to main content

Assemblies and references

An assembly's source is an asm.json: ClassCAD's description of an assembly, with its templates, instances and constraints. Each template points at a part or sub-assembly in the PDM:

"reference": { "location": "pdm://documents/ENG-1004" }

The form is pdm://documents/<number or id>, optionally with a revision (@B) or a version (@v3). You rarely write this by hand: the editor writes the asm.json for you.

Pinning​

In a draft, references resolve live: the requested revision or version, otherwise the newest released revision, otherwise the target's main draft. When you make a version, every reference is pinned to an exact version: @B to B's version, @v3 to v3, and a plain reference to the newest release, or the newest version if there's no release. A target with no version at all stops Create version and the PDM names it.

So a released engine is always the same engine, whatever happens to its parts later.

Updates​

When a part an assembly uses gets a newer revision, the assembly's Structure tab says so. Update references writes the new versions into the assembly's draft, and the assembly is built again. Released assemblies never change under you; they get the update with their next version.

BOM and where-used​

The Structure tab shows the tree of the assembly and a flat parts list with quantities, each item linked to its document. Every document's Used by tab lists the assemblies that reference it.

Exports and OFB assemblies​

An assembly can be exported as one OFB or one STEP file. That's a job too, run on request.

An assembly can also come as a single OFB file that contains its parts. It's measured and shown like any assembly, but it has no references.