Assemblies and mates¶
Every project starts with an assembly. Add parts as instances, then position them by hand or use mates to constrain their placement.
Instancing and placement¶
- Reuse a part as an instance in the assembly.
- Position it with an Euler-angle placement (translation plus rotation), or with the 3D manipulator in the viewport.
- The manipulator snaps or moves freely depending on where the cursor is, so nothing needs a modifier key. A rotation ring turns with the cursor and snaps to 45° steps while the cursor stays near it; drag well outside the ring to rotate freely, back in to snap again. A translation arrow follows the cursor exactly along its axis; pull sideways off the arrow and the movement snaps to the thick grid lines shown in the viewport, which adapt to the zoom level. A snapping handle turns white: arrows become dashed, rings show ticks.
- The centre sphere slides the part freely on the plane facing you, for quickly moving something out of the way. It never snaps, and it only moves along the directions the mates leave open; a part with no free translation shows no sphere.
- The placement editor shows coordinates relative to the parent assembly. Switch Rel / Abs to read and edit the same fields in world coordinates; the value is converted back to the stored relative placement on Apply. Absolute mode takes literal numbers only, no expressions. The toggle is hidden for the top-level assembly, whose placement is already absolute.
- Reset to origin (circular-arrow icon) zeroes a part's placement.
Mates¶
Mates constrain how parts move relative to each other. The Mates entry appears in the toolbar when the assembly contains two or more bodies. Select faces, edges, origin planes or axes in the viewport, and the solver positions the parts. The type dropdown has two groups. Constraints remove freedom: coincident (faces, edges, planes or axes), concentric (cylindrical faces, axes or circles), distance, angle and fixed. Joints leave one type of motion open: revolute (hinge), slider, cylindrical, planar, ball or link. You can set travel limits for joints instead of an offset.
When a reference slot is active, N3XD shows the axes of cylindrical faces as dashed lines. Click an axis to select it. This is often easier than selecting the face itself, especially on a threaded shaft or tapped hole, where the smooth cylinder is covered by thread crests and grooves. To mate a bolt to a nut, select the two axes and choose Concentric.
Mate references are topologically anchored, so they survive rebuilds. You can also bind offsets to parameters and expressions. The solver uses a 6-DOF Gauss-Newton / Levenberg-Marquardt method. Mates work across the assembly tree: when you select a part inside a sub-assembly, you can mate it to any other placed part. N3XD stores the mate in the deepest assembly that owns both references.
A ball joint pivots about one point on each reference, and a link joint measures its length between the same points:
| Reference | Pivot |
|---|---|
| Planar face | Centre of its area |
| Cylindrical or conical face | Centre of its area, moved onto the axis |
| Spherical face | Sphere centre (ball and link joints only) |
| Circular edge | Circle centre |
| Straight edge | Midpoint |
| Datum axis | Its origin |
| Datum point | The point itself (ball, link and distance mates only) |
| Origin plane or axis | The origin |
For an exact pivot, pick a datum point, a spherical face, a circular edge or a datum axis. A datum point driven by parameters keeps the pivot on your hard point when the design changes.
You can also create mates between top-level assemblies. N3XD solves these mates in world coordinates, taking each assembly's position into account, and lists them in the Mates panel for both assemblies. The mate is stored on the assembly through which you created it, unless both references belong to the other assembly. If you move one top-level assembly later, it stays where you put it and the mated assembly follows. A mate can reference geometry outside its own assembly only when it is stored on a top-level assembly. A sub-assembly may be placed more than once, so it has no single position to use for an external mate.
Fasteners from a hole¶
Use Fastener to add hardware to a hole in one step. Select the wall of the hole, then choose Fastener from the toolbar or command palette. N3XD measures the hole and suggests suitable hardware.
What it reads off the model:
- The size, from the hole's own standard where it has one, otherwise from the bore diameter.
- Which end the head seats on, and the counterbore floor when there is one.
- The grip, the whole run of material under the hole, so two plates bolted together get a bolt long enough for both. From a top-level assembly this looks across every top-level assembly, so a plate bolted to something a neighbouring assembly places is measured too.
- Whether a tapped bore continues below, which makes it a screw joint with no nut, and caps the length so the screw cannot bottom out.
- Every identical hole on the same face, so a row of six is fitted at once.
The panel offers a hex bolt or socket head cap screw, along with its size and length, washers and a nut. It recommends a length, which you can change. For a through joint, N3XD measures the stack so the bolt clears the parts, washers and nut with a couple of threads showing. For a tapped hole, it chooses a length that engages about one diameter of thread. Select Add to derive each component from the library, place it on the hole axis and mate it to the hole (concentric on the bore, coincident with the seating face). The whole operation is one undoable step.
N3XD puts all added components in one group named after their size, so even a large set of bolts takes up one row in the tree. The components come from the public library, so you need to be signed in to use this tool.
Checking for interference¶
The Boolean entry appears in the toolbar when at least two bodies in the project have geometry. Choose Boolean → Interference and select Check interference to see whether the parts fit. N3XD tests each pair where the assembly places it, so a part used several times is checked at every position, including against its own copies.
Each pair comes back as one of:
- Overlap: the bodies occupy some of the same space. N3XD reports the overlap volume and draws it in red, visible through the bodies that contain it. Hover over a row to bring that volume forward.
- Expected (mated): the bodies overlap, but a mate or joint connects them directly, as with a press-fit pin in its bushing. The row is greyed out and does not count as an overlap.
- Touching: the surfaces are in contact but do not penetrate each other. Mated faces usually appear here, which is normally the expected result. An overlap no larger than the Tolerance also counts as touching.
- Clear: the bodies are separated, and N3XD reports the gap. Pairs that are far apart appear only in the summary.
- Unresolved: the kernel could not determine the result for this pair. The other results are still available.
Select two or more bodies to check only those bodies. If you select nothing, N3XD checks the whole assembly. Turn on Ignore hidden bodies to leave hidden parts out of the check; the counts will then describe only visible parts. Set Tolerance (in mm³) to treat small overlaps, such as tangent curved faces, as touching. Leave it blank to report every overlap.
Dismissing a row with × hides it until the next check. Ignore keeps an overlap out of every later check and saves that choice with the assembly. The collapsed Ignored list under the results shows these pairs, and Unignore reports a pair again. Results clear when you edit the model because they describe the previous arrangement.
The AI assistant can run the same check and report the results. Ask whether a design fits, then ask it to fix any interference it finds.
Combining bodies¶
Use Boolean → Combine to merge bodies. Select two or more bodies, choose an operation and apply it:
- Union merges everything into one body.
- Cut subtracts the rest from the first. Make target on a row picks which body is cut.
- Intersect keeps only the volume they share.
Select × on a row to remove that body from the selection.
N3XD combines bodies where the assembly places them, rather than at their model origins. It creates a new part and keeps the original parts hidden, so you can show them again or undo the operation. Leave Update when the sources change on to rebuild the result whenever an original part changes. Turn it off to freeze the result.
Link joints¶
A link joint keeps two points a set distance apart and leaves every other motion free, like a spring or shock absorber with a ball joint at each end. Choose Link (spring) in the Joints group of the Mates panel and select two references. Each reference gives the same point a ball joint pivots about, for example the centre of a planar face or of a circular edge.
A link's position is its real length in millimetres, measured between the two points. Unlike the other joints it does not start at zero, so a link that reads 120 mm holds its points 120 mm apart. Use the limits to set the shortest and longest length. Without a lower limit the length stops at 0.
A link can also store a spring rate in N/mm, set through the assistant or the API. N3XD keeps it with the joint but does not use it, because the solver only computes positions, not forces.
Driving a mechanism¶
A joint leaves one type of motion open, so you can pose the assembly along it. When the assembly has a revolute, slider, cylindrical or link joint, a Motion entry appears in the toolbar. Planar and ball joints allow more than one type of motion, so they do not provide a single control and do not show this entry on their own.
The panel lists each drivable joint with a slider. Drag a slider to pose the whole mechanism: the solver moves all linked bodies, not only the two named by the joint. Release the slider to commit the pose. When a joint has travel limits, its slider stays within them.
Select the lock icon on a joint to hold it where it is. A locked joint stays put while you drive other joints, run a sweep or move parts with the placement gizmo, which keeps for example a ride height or a hinge angle fixed while the rest of the mechanism moves. Its own slider still moves it, and it stays locked at the new position. Select the icon again to unlock the joint.
Use Sweep to animate a joint from one end of its travel to the other. Select the joint, choose the number of frames, then select Compute motion to play the animation on a scrubber.
Checking a mechanism for collisions¶
A mechanism may fit at rest but bind partway through its travel. To check for this, select Check for collisions in the Motion panel before choosing Compute motion. N3XD tests every position in the sweep. A red tick appears under the scrubber wherever bodies overlap; select that position to see an Overlap marker and find where the mechanism jams.
Simplified display for large assemblies¶
Fine detail can slow down a large assembly even when it is too small to see. For example, a modeled thread on an M8 screw is smaller than a pixel in a 10 m structure, but still requires a full helical mesh. View → Simplified hides detail features on every part to keep large assemblies responsive.
Simplified display hides modeled threads, embossed text, surface patterns, and fillets or chamfers at or below the size shown under the toggle (2 mm by default).
Simplified display changes only what you see. Exports, measurements, mass properties, simulations and mates continue to use the full geometry. While it is on, a Simplified badge appears in the viewport; click it to restore full detail. N3XD turns simplified display on automatically when you open a large assembly and notifies you.
The part you are editing always shows full detail, so you can select its faces and edges as usual. To show or hide a specific feature regardless of the rule, open it and set Simplified display to Keep or Hide. See Modeling features.
Shared and multi-device viewing¶
You can open a project on several devices at once. Read-only sync over WebSocket shares presence (avatars and per-user colours) and lets users follow the same camera view.