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 + .cmp CSV 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

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:

  1. Export .plmxml from Artifact (preferred — one file with full harness structure for NX Routing).
  2. Optionally export .hrn + .cmp instead if your NX workflow still expects the legacy CSV pair.
  3. Import into NX Routing on your workstation and route the wires.
  4. Export the routed .plmxml (preferred) or .hrn from NX.
  5. 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 + .cmp pair.
  • NX → Artifact: routed wire lengths only (no geometry, no other metadata), via .plmxml (preferred) or .hrn through Import Lengths.

2Open the 3D CAD Bridge

The NX controls live in the same place as Onshape.

  1. Open the harness editor for the harness you want to export (see Tutorial 6: Harness Editor).
  2. Click empty canvas (deselect everything) so the right pane shows Harness Properties.
  3. Expand the 3D CAD Bridge section.
  4. 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

Harness Properties with 3D CAD Bridge expanded, NX selected, and the four NX buttons visible

3Pick your length units

NX expects a specific length unit in the exported files.

  1. In the Units row, pick Millimeters (mm) or Inches (in) to match your NX project setup.
  2. 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 .hrn and .plmxml exports.
  • Include devices — when checked, devices appear as rows in .cmp and as device entities in .plmxml. This option does not change .hrn row 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.

  1. Click the .plmxml button. Tooltip: Download .plmxml (NX Routing XML).
  2. Your browser downloads {harnessName || diagramName || 'export'}.plmxml.
  3. A toast confirms: Exported{filename}.plmxml downloaded.

Screenshot

Browser download bar showing exported .plmxml file

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):

  1. Click .hrn. Tooltip: Download .hrn connection list.
  2. 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:

  1. Click .cmp. Tooltip: Download .cmp component list.
  2. 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.

  1. Return to the Artifact harness editor.
  2. Confirm the Units dropdown matches the unit used in the file you're about to import.
  3. Click Import Lengths. Tooltip: Upload .hrn or .plmxml to import wire lengths.
  4. The OS file picker opens (accept filter is .hrn,.plmxml). Pick the .plmxml file NX produced (preferred), or a .hrn if that is what your workflow exported.
  5. Artifact parses the file:
    • .plmxml — reads wire_length from UserData type="InstanceNotes" on each Occurrence.
    • .hrn — reads column 0 (unique_id) and column 11 (length) for every row with a positive length.
  6. 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.
  7. A toast reports the result:
    • Success: Lengths importedUpdated N wire(s) (M found in file)
    • File parsed but no usable rows: No lengths foundThe uploaded file contained no wire length data.
    • Errors: Failed to read file, Harness not ready, or Could not access diagram store.

Screenshot

Import Lengths file picker open with .plmxml file selected

9Verify the lengths landed

After Import Lengths completes:

  1. Click any updated wire or cable on the diagram or in the harness editor.
  2. Open the Properties pane (Ctrl/Cmd+P).
  3. Confirm the new Routed Length + unit on the wire/cable.
  4. 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:

StepOnshapeNX
Open bridgeHarness editor → 3D CAD BridgeSame
PlatformOnshapeNX
SetupSetup → API key + document URLNone
OptionsInclude shields, include devicesSame + Units
Push dataView ExportInitiate / Sync (API)Download .plmxml (preferred) or legacy .hrn + .cmp
Pull lengthsSync (same button, API)Import Lengths + file picker (.plmxml preferred, or .hrn)
Fields updatedRouted Length on wiresSame

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

Glow effect