The .n3xd file format¶
A N3XD project is stored as one JSON document. It contains the design history, not the resulting geometry: the model tree, features in the order they were applied, sketches and constraints, parameters, configurations, materials and simulation setups. When you open the file, the geometry kernel replays that history to rebuild the model, which remains editable at every step.
This format is documented so you and your agent can inspect project files. Because it is plain JSON, you can read it in a text editor and use it outside N3XD. The command catalog that creates these documents is also published.
Shape¶
{
"format": 2,
"project": { "type": "project", "name": "Bracket", "revision": 42, "...": "..." },
"objects": {
"<uuid>": { "type": "part", "name": "Plate", "...": "..." },
"<uuid>": { "type": "sketch", "plane": "XY", "elements": [], "...": "..." }
}
}
- Every object is keyed by its id in the flat
objectsmap. It also has atypediscriminator (project,assembly,part,body,instance,sketchor the feature's ownfeature_type). The map key is the id, so the object does not repeat it. - Defaults are omitted to keep files small and diffs easy to read. If a field is absent, N3XD uses the current model default. Changing a default can therefore affect how an older file is interpreted.
- All units are millimetres. The document has no unit setting; display units
are a per-user preference. On import, N3XD normalizes STEP and IGES geometry
and stores the source scale on the import feature as
units_mm. - References survive edits. A sketch on a face, fillet on an edge or mate against a body stores a topology anchor for that geometry. It does not store an index into the kernel output, so a rebuild can resolve the reference after the underlying shape changes.
Stability¶
The document includes a format version and is designed to remain readable. It
stores everything needed for a deterministic rebuild, and it can add support
for features such as parameters, configurations, diagnostics and repaired
references while remaining compatible with older files. Because the format is
plain JSON, you can keep project files in git beside the parts they describe
and review design changes as diffs.
Hosted projects use the same document format; only storage and addressing differ. Export downloads this file, and importing it elsewhere restores the same editable model.