Feature Tree Translation

Read a part's modelling history out of one CAD system and rebuild it feature by feature in another. Not a STEP import — the target part is constructed by real sketches and features, so it has a tree you can edit.

What this is for

The usual reasons: a supplier sends a SOLIDWORKS part and your shop runs NX; a legacy library needs to move to a new CAD system; you want to compare how the same design behaves in two kernels. A STEP file solves the geometry problem and nothing else — you get one dumb solid with no sketches, no dimensions and no way to change the wall thickness. Feature tree translation rebuilds the part.

Step 1 — extract in the source CAD

Open the part in the CAD system that owns it, and ask for its tree.

Extract the feature tree of this part to C:\transfer\bracket_tree.json

The file contains the sketches with their curve geometry, the features with their parameters, the material, and the document metadata. Read it if you like — it is plain JSON.

Before moving on, record the two numbers you will check against later:

Give me this part's volume in cubic millimetres and its bounding box, so I can compare after the rebuild

Step 2 — recreate in the target CAD

Switch to the other CAD application — it has its own CoPilot panel — and rebuild.

Recreate the part from C:\transfer\bracket_tree.json and save it as C:\transfer\bracket_nx.prt

CoPilot replays the tree operation by operation and reports how many succeeded. Translation works between any pair of the four supported systems: SOLIDWORKS, Inventor, NX and Solid Edge.

Step 3 — verify, before you trust it

This step is not optional, and it is the reason this page is long. A rebuild that goes wrong usually goes wrong quietly — the operations report success and you get a plausible solid that is not your part.

Measure the volume and bounding box of the recreated part and compare them with 184,320 mm³ and 120 × 80 × 40 mm

What to expect: a faithful rebuild lands within a small fraction of a per cent on volume, and matches the bounding box on every axis. A deviation of a few per cent is not “kernel differences” — it is a missing or extra feature. Investigate it.

A matching volume does not prove correct placement. A feature built at the wrong height can produce exactly the right volume. Always compare the bounding box as well, and for anything positional, ask for a probe: “cut a 1 mm test slab from Z=45 to Z=55, tell me the volume removed, then undo it”. The volume removed tells you what is actually there at that height.

What transfers, and what does not

Transfers well

Does not transfer

Assemblies

An assembly structure can be extracted and recreated too, but with one important difference: the components are placed at their exact transforms and fixed there. The mates are recreated and geometrically correct, but they are not doing the positioning work. If you want a mate-driven assembly that flexes when you drag a part, expect to redo the mates deliberately — see Assemblies.

Extract the assembly structure of this assembly to C:\transfer\frame_asm.json

Habits that make translation go smoothly

  1. Use distinct file names per CAD system. Ask for fork_nx.prt and fork_sw.sldprt, not “save the fork”. Same-named files with different extensions get picked up by the wrong system and you spend an afternoon debugging a stale part.
  2. Keep one document open at a time in the target CAD, and confirm the save actually wrote. A stale document with the same name can swallow a save silently.
    Confirm the saved file's path, size and timestamp
  3. Rebuild in stages for a big tree. Long replays can stop part-way through. Ask for a group of features, verify, then continue — rather than one prompt for eighty operations.
  4. Compare against the source at each stage, not only at the end. The first feature that goes wrong is the one worth finding; everything after it is a consequence.

Reading the rebuild report

The reply lists each operation and its outcome. Three things are worth looking for:

Which operations failed, and what was the volume after each one?

When to use STEP instead

Feature translation is the better answer when you need an editable model. STEP is the better answer when you need exact geometry and do not care about the history — and it is the only answer for parts built on 3D sketch paths, or imported bodies that never had a feature history to begin with.

Export this part to STEP at C:\transfer\bracket.step

Then in the target CAD:

Import C:\transfer\bracket.step

You can also compare the two routes directly, which is a good sanity check on a translation you are unsure about:

Compare the BREP geometry of the recreated part against the STEP import — volume, surface area, topology and centroid

Other export formats

STEP, IGES, STL, Parasolid, SAT and JT are available for solid geometry, and PDF, DXF and DWG for drawings.

Export this part to STL at 0.05 mm tolerance for printing

Extracting parts of a tree

You do not have to take the whole tree. Individual features can be extracted with their full parameters, which is useful for auditing a model or copying one feature's setup into a note.

Extract the parameters of the feature called "Cut-Extrude2"
Show me everything added since the "Shell1" feature
Extract the last feature that was created, with its parameters

See also