Skip to content

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 objects map. It also has a type discriminator (project, assembly, part, body, instance, sketch or the feature's own feature_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.