Tutorial 12 · Integrate
Linking Artifact to NX
7 min read
What you'll learn
- How the Artifact ↔ Siemens NX integration works (offline file exchange, no API)
- How to export your harness as
.plmxml(the preferred format for NX Routing) and, when needed, the legacy.hrn+.cmpCSV pair - How to use Import Lengths to pull routed wire lengths back from NX into Artifact
- The differences between the NX flow and the Onshape flow you learned in Tutorial 11: Linking Artifact to Onshape
Prerequisites
- Complete Tutorial 6: Harness Editor — you need an existing harness with at least one wire to export.
- Tutorial 11: Linking Artifact to Onshape is helpful for comparison but not required.
- You need access to Siemens NX with the Routing Electrical module to actually use the exported files.
Steps
1Understand the NX integration model
Unlike Onshape, the Artifact ↔ NX integration is offline file exchange — there is no API setup, no document URL, and no credentials. The flow is:
- Export
.plmxmlfrom Artifact (preferred — one file with full harness structure for NX Routing). - Optionally export
.hrn+.cmpinstead if your NX workflow still expects the legacy CSV pair. - Import into NX Routing on your workstation and route the wires.
- Export the routed
.plmxml(preferred) or.hrnfrom NX. - Use Import Lengths in Artifact to read the routed lengths and update the wire Routed Length fields.
What flows in each direction:
- Artifact → NX: pinouts, components, and harness structure — preferably as
.plmxml, or as the legacy.hrn+.cmppair. - NX → Artifact: routed wire lengths only (no geometry, no other metadata), via
.plmxml(preferred) or.hrnthrough Import Lengths.
2Open the 3D CAD Bridge
The NX controls live in the same place as Onshape.
- Open the harness editor for the harness you want to export (see Tutorial 6: Harness Editor).
- Click empty canvas (deselect everything) so the right pane shows Harness Properties.
- Expand the 3D CAD Bridge section.
- In the platform dropdown, pick NX.
The NX-specific controls appear: a Units dropdown, and four buttons — .hrn, .cmp, .plmxml, and Import Lengths. Use .plmxml for export — it is the preferred format for NX Routing even though it is the third download button. The Setup link that appears for Onshape is not shown for NX.
Screenshot
3Pick your length units
NX expects a specific length unit in the exported files.
- In the Units row, pick Millimeters (mm) or Inches (in) to match your NX project setup.
- The unit choice is remembered in your browser between sessions.
Note: the .plmxml export always writes lengths in millimeters internally, regardless of this dropdown, because PLM XML's <Metre> element only supports SI prefixes. The Units setting still controls .hrn exports and the Import Lengths unit applied to your wires.
4Choose what to include
Above the platform dropdown sit two checkboxes shared with Onshape:
- Include shield connections — when unchecked (the default), shield conductors are excluded from
.hrnand.plmxmlexports. - Include devices — when checked, devices appear as rows in
.cmpand as device entities in.plmxml. This option does not change.hrnrow content (devices aren't connection rows).
5Export the ,[object Object], harness model (preferred)
.plmxml is the preferred export format for NX Routing. It is a single XML document with the full harness structure: products, revisions, instances, occurrences, wire/cable stock, connectors, flow connections, and terminals. It is not a 3D route — it's the connectivity model that NX imports and then routes internally.
In most NX shops, .plmxml is the only file you need — it carries the same connection and component data as the legacy .hrn + .cmp pair plus the structural metadata NX expects.
- Click the
.plmxmlbutton. Tooltip: Download .plmxml (NX Routing XML). - Your browser downloads
{harnessName || diagramName || 'export'}.plmxml. - A toast confirms: Exported —
{filename}.plmxml downloaded.
Screenshot
6Export the legacy ,[object Object], + ,[object Object], pair (optional)
Use this only if your NX workflow still expects the older CSV-based import rather than .plmxml. You need both files — NX uses .cmp to resolve part references in .hrn.
.hrn — headerless CSV, one row per wire connection (NX Routing Electrical "Example" format):
- Click
.hrn. Tooltip: Download .hrn connection list. - Browser downloads
{filename}.hrn. Columns in order:unique_id,from_comp,from_conn,from_port,to_comp,to_conn,to_port,gauge,type,color,length,cut_length,fabrication,description. Length columns use the Units dropdown value.
.cmp — headerless CSV component lookup:
- Click
.cmp. Tooltip: Download .cmp component list. - Browser downloads
{filename}.cmp. Columns:part_name,unique_id,connector_id,signal,description.
7Route the harness in NX
Switch to NX and import the .plmxml you exported in Step 5 (preferred). If you used the legacy CSV pair instead, import .hrn and .cmp together. Use NX's standard workflow to place components, route wires, and assign 3D paths. When routing is complete, NX's harness model will contain the actual routed length per wire.
When you are ready to push lengths back into Artifact, export from NX as .plmxml (preferred) or .hrn — either format works for Import Lengths.
8Import Lengths back into Artifact
Once NX has the routed lengths, get them back into Artifact.
- Return to the Artifact harness editor.
- Confirm the Units dropdown matches the unit used in the file you're about to import.
- Click Import Lengths. Tooltip: Upload .hrn or .plmxml to import wire lengths.
- The OS file picker opens (accept filter is
.hrn,.plmxml). Pick the.plmxmlfile NX produced (preferred), or a.hrnif that is what your workflow exported. - Artifact parses the file:
.plmxml— readswire_lengthfromUserData type="InstanceNotes"on eachOccurrence..hrn— reads column 0 (unique_id) and column 11 (length) for every row with a positive length.
- Artifact matches each NX wire ID to the corresponding Artifact wire and updates:
- Standalone wires — sets
Routed Length+ unit on the wire. - Cable child wires — uses the longest child length and applies it to the parent cable.
- Standalone wires — sets
- A toast reports the result:
- Success: Lengths imported —
Updated N wire(s) (M found in file) - File parsed but no usable rows: No lengths found —
The uploaded file contained no wire length data. - Errors: Failed to read file, Harness not ready, or Could not access diagram store.
- Success: Lengths imported —
Screenshot
9Verify the lengths landed
After Import Lengths completes:
- Click any updated wire or cable on the diagram or in the harness editor.
- Open the Properties pane (Ctrl/Cmd+P).
- Confirm the new Routed Length + unit on the wire/cable.
- In the diagram editor, the wire's Routed Length input will be disabled and show a ↗ link to open the harness editor (because the length is now defined in the harness — same flag Onshape's Sync sets).
Lengths also feed through to the BOM, Connections Table, and Cut List (Tutorial 9: BOMs & Exports).
10Compare to Onshape
A quick side-by-side reference if you're choosing between the two integrations:
| Step | Onshape | NX |
|---|---|---|
| Open bridge | Harness editor → 3D CAD Bridge | Same |
| Platform | Onshape | NX |
| Setup | Setup → API key + document URL | None |
| Options | Include shields, include devices | Same + Units |
| Push data | View Export → Initiate / Sync (API) | Download .plmxml (preferred) or legacy .hrn + .cmp |
| Pull lengths | Sync (same button, API) | Import Lengths + file picker (.plmxml preferred, or .hrn) |
| Fields updated | Routed Length on wires | Same |
Both integrations only sync routed lengths back — neither imports 3D geometry, parts, or assemblies into your Artifact library. SolidWorks and CATIA appear in the platform dropdown but aren't active yet.
Summary
You exported your harness from Artifact to NX as .plmxml (the preferred format), routed the wires in NX, and used Import Lengths to pull the routed lengths back into Artifact's per-wire Routed Length fields. The legacy .hrn + .cmp CSV pair remains available when your NX workflow requires it. Unlike Onshape's API-driven sync, the NX flow is offline file exchange — there is no setup, no credentials, and no server round-trip.
What's next
- → Tutorial 13: Collaboration — work together with teammates on diagrams, comments, and shareable links.
- → Tutorial 9: BOMs & Exports — the Cut List you generate now reflects NX's routed lengths.
