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.