docs / workbenches / Wire Harness Workbench

Wire Harness Workbench

Id: wireHarness · Fourth entry in the workbench dropdown

Wire harness is for routed wire runs: a part declares its connection points (named points with a direction, held in the part's ports block and managed in the Qualify pane), you place Waypoints where runs must pass through one spot, draw Splines whose end anchors attach to those points, and list the wires you need in the Wire Harness panel. The model routes every wire through the spline network on every rebuild and sweeps a bundle solid along each spline a wire runs through. There is no Route button — the router is part of the feature history, so a wire re-routes the moment a connection point or waypoint moves or a spline changes.

What it offers

Six features: Waypoint (WP), Spline (SP), Sketch, Datium, Plane — a waypoint usually sits on geometry you sketch or place — and Assembly Component (ACOMP), because a harness routes across placed parts whose connectors carry the connection points. Waypoint and Spline are also offered in Modeling; what is this workbench's alone is the panel.

Panels

Wire harness claims three panels (see the panel matrix):

Toolbar buttons

The one button is the way in to a part's connection points: the Qualify pane is on screen only while the part declares some, so a part that declares none needs somewhere to declare its first.

ButtonIdOfferedWhat it does
Declare connection pointwireharness.declare_pointwhile the part declares no connection pointswrites the part's first port group — J1, purpose wiring, one point at the origin — and brings the Qualify pane forward

Typical workflow

  1. Model or insert the parts that carry the connectors.
  2. Declare a connection point at each connector — the cable ends. In a connector's own part that is the Qualify pane (the Declare connection point button writes the first one); set a point's Point (under Seated on) to the connector face to seat it there, with the face normal as its direction. Add a Waypoint where several runs must pass through one point (a grommet, a clip) — a wire entering a waypoint on one side leaves on the other.
  3. Add a Spline for each allowed path between two points. In its form, open Anchors and press Attach… on the first and last anchor, then click the connection point or waypoint in the viewport. The anchor snaps to it and follows it from then on. Each attachment has a side, A (leave along the point's direction) or B (against it) — this is what decides which physical side of a waypoint a spline occupies.
  4. In the Wire Harness panel press Add wire, pick its From and To connection points (terminations only — never a waypoint) and enter its diameter.
  5. Read the row: Length is the routed length, Status says Routed or why not. Hover a row to highlight its two end points and the bundle solids it runs through.
  6. Read the cut lengths in the BOM.

Connection points inside placed parts

A connector modelled as its own part carries its connection points into every assembly it is inserted in: each is addressed {component}:{port}.{point} (ACOMP2:J1.VCC), posed with the instance. In this workbench (and in All) those points draw in red beside the document's own, a spline anchor attaches to them through the picker like any other, and the Wire Harness panel lists them by that address. Modeling and Assembly keep them hidden. Two instances of one connector are two sets of points, never one.

Routing rules

In the router, a connection point and a waypoint are both a port: a point with a direction.

Cut lengths

Every wire is its own line in the BOM, carrying its cut length for an automatic wire-cutting machine: MF QTY is the routed length plus the cut margin, added once to each wire. Two wires down the same splines are two lines, each with its own margin. Set the margin in the BOM's header. It is saved with the harness block.

A cut length is shown only when the last rebuild routed the model as it stands. While a rebuild is running, after a rebuild was cancelled, while the history is rolled back, before the first rebuild, and for a wire the router could not route, the line says so instead of showing a number. Rolled back matters most: a spline past the rollback is not in the network, so a wire can route over another path and still read Routed here, with a length that is not the model's.

Where the data lives

The connections are the document's wireHarness block (see File formats): { connections: [{ id, name, from, to, diameter }], idCounter, buildBundles, cutMargin }, with from / to holding connection-point addresses (J1.VCC, ACOMP3:J1.VCC) — the address is the point's identity; there is no second hidden id. cutMargin is omitted while it is 0. Routing results are never saved — they are recomputed on every rebuild.

Limitations

Flattened formboard drawings and drawing-sheet connection tables are not implemented.

A bundle through a bend tighter than its own radius is reported, not built: the swept surface trimmed against itself is not built for any section yet.