Skip to content

Projects, parts, and the model tree

N3XD organizes everything as a tree:

Project  ->  Assemblies  ->  Parts  ->  Bodies / Sketches  ->  Features
  • A project is always an assembly and has a stable project_id used in the URL (/p/<project-id>). The id is immutable and separate from the name.
  • An assembly holds parts, and can hold other assemblies. The tree lists the ones nothing places at its top level; each sub-assembly appears under its parent and stays fully editable there.
  • A part is a single modeled component with an ordered history of features and the sketches they consume.
  • A body is one solid. A part can contain several, for example for multi-material printing.
  • A sketch is a first-class object. The same sketch can feed several features, say an extrude and then a pocket.
  • Features are the operations in the part history. Editing an earlier one recomputes everything downstream.

The tree panel

The tree shows origin elements (planes and axes), parts, bodies, sketches and features. You can:

  • Rename items inline.
  • Toggle visibility. This is view-only state and is not saved into the document.
  • Tell operations apart at a glance: every history row carries the icon of the toolbar button that created it, so a part's history reads without reading the names.
  • Read a feature's rebuild status from its icon: ok, warning, failed, unresolved_reference, suppressed or stale.
  • Peek at a feature's main parameter. Selecting a feature shows a small read-only summary beside the row (fillet radius, extrude distance, hole size). There is no rollback involved, so it stays instant on large models. Escape or a click away dismisses it.

Dragging in the tree

Dragging is how you link and copy. The rule is the same everywhere: dropping inside the same container reorders, dropping into a different one creates a linked copy that follows its source, and holding Ctrl (or Cmd) while you drop makes an independent copy instead. The item you drag stays where it was, and a label on the target row says what the drop will do.

  • Features reorder within their part's history. Gaps light up in two kinds: a solid line is a position that leaves the model exactly as it is, a dashed red line is legal but would change the part (a fillet after a shell, a boss before the hole it fills). Drop on a red one and the part rebuilds, with a message saying how it changed and Ctrl+Z to take it back. A gap with no line is one the history forbids. The feature takes its own sketch along; a profile two features share stays put. Reordering is off while the rollback bar is moved or a feature editor is open, since both move the cursor the check compares against; hover the row and it says which. Alt+↑ / Alt+↓ steps through the model-neutral positions only and says what it skipped.
  • Parts reorder inside their assembly. Drop one on another assembly's row to derive it there (a linked part that tracks the source), or Ctrl-drop an editable copy. Deriving keeps the source in place and removes no mates.
  • Sketches dropped on another part's row derive there; Ctrl-drop gives a static copy. Ctrl-dropping onto its own part copies it within the part.
  • Assemblies dropped on another assembly become a sub-assembly. The row appears under its parent (-> name) and expands for editing in place. Place it in several parents to reuse it: the contents are stored once, so an edit through any row reaches every placement. Ctrl-drop gives a deep copy instead. An assembly cannot go into itself or into one of its own sub-assemblies.
  • Sub-assembly and instance rows dropped on another assembly move that placement. The definition is untouched and the placement keeps its identity, so mates naming it survive. Moving a row that sits inside another sub-assembly edits that parent definition, so every copy of it updates.
  • To un-nest, drag a sub-assembly row onto the Move to project root strip at the bottom of the tree. It returns to the top level with the pose it had inside its parent. Only the last placement can be moved out; while it is still placed elsewhere the strip stays away, since removing that row would just delete it.

Deleting an assembly deletes the sub-assemblies nested inside it, however deep, along with their parts. It asks first and names them. A sub-assembly that is also placed elsewhere is kept and returns to the top level once its last placement goes.

A derived part or sketch shows a link icon, and is flagged stale with a refresh action when its source changes. Dragging an already-derived item falls back to a copy, since you cannot derive from a derive.

When an upstream feature fails, everything depending on it is marked blocked or stale rather than failing silently. See History and revisions for stepping back through the history.

Sharing a project

A project's URL (/p/<project-id>) is its share link. What the link grants is up to you: click Share on the project card in your dashboard and pick

  • Read & write (default): anyone with the link can open and edit alongside you.
  • Read only: they can open, inspect, measure and export, but every edit is refused. A Read-only badge shows in their toolbar.
  • Public view: anyone with the link can look at the model without signing in. Good for showing a design to someone with no account.
  • No access: the link stops working and the project disappears from the dashboards it had reached.

Changes take effect right away, including for people who already have the project open, so this is also how you revoke a share. Only the owner can change it, and the owner is never locked out.

User settings → Application → Default link sharing sets what a link grants for projects with no setting of their own, so you can make new projects read-only or private by default. A project whose own setting differs is highlighted in its share dialog. Public view is not offered there: it applies only to the projects you pick.

What a public-view visitor sees

The model as it is meant to look, with its materials, plus the model tree. They can orbit, zoom, switch between shaded and wireframe, jump to your saved viewpoints, and they appear in the participant list like anyone else, so you can present to them live. Their name is Guest and they see everyone else as anonymous.

Their toolbar holds a View only chip and the participant list, nothing else: no editing tools, no import or export, no download, no AI assistant, and no way to reach your other projects. The server enforces that, it is not just hidden in the interface. Switch the project to another mode and open links stop working within about half a minute.

Rollback

Rollback suppresses every feature after a chosen point so you can insert or edit earlier history, then roll forward again. Assembly mates survive it through checkpoint caching. The position is saved with the project, so reopening restores the bar where you left it. It can sit on a sketch as well as a feature, building everything before that sketch, which is what editing a sketch does for you automatically.

Pick the bar up and the gaps in that part's history light up as drop targets. Only the part you grabbed it from reacts and nothing in the tree moves while you drag, so the gap you aimed at stays where it was. Drop it above the first row to park it before the whole history: the part builds nothing, and the next sketch or feature you add goes to the very start. The × on the bar rolls forward again.