Documentation
Tube & Pipe Routing — User Guide
The same Help that ships inside the add-in (version 0.4.0). Product page
Quick start
- Draw the tube centreline as a 3D sketch: straight lines joined end-to-end. Sharp corners are fine - the add-in rounds them with the bend radius. You may also draw tangent arcs yourself; their radius is used as-is.
- Tube & Pipe > Route Pipe: select the lines, pick Standard / Family / Size, set the Bend radius (CLR), OK.
- Manage > Bend Data: read the bend table per tube; export CSV for the bender.
- Manage > Cutting List: developed lengths grouped by size and bend sequence + fittings BOM; CSV / PDF.
- Fitting, Auto Route, Notch Template: see below.
Route Pipe
| Input | Meaning |
|---|---|
| Path | Sketch lines and arcs. Curves that share endpoints form one tube; separate chains become separate tubes. Where three or more curves meet, the chain stops (a node for fittings). The tube starts at the free end of the first curve you selected. |
| Standard / Family / Size | From data/pipes.json (EN 10255 pipe, EN 10305 tube, NPS Sch 40, DOM tube, JIS SGP). The size label shows OD x wall. |
| Bend radius (CLR) | Centreline radius applied at every sharp corner. Defaults from the size table (or 3 x OD). Sketch arcs keep their own radius. |
| Elongation % | Stretch factor applied to arc lengths in the bend table (material/die calibration). 0 = geometric length. |
| Min. straight between bends | Warns when the straight between two bends is shorter than the die clamp length. Default 1 x OD. |
| Create as component | Each tube in its own component (BOM friendly). Off = plain bodies in the root. |
| Edit tube | Pick a tube you routed earlier to reload its settings; OK rebuilds it in place with the same id. |
CLR x tan(A/2)) is an error - the tube is skipped; reduce CLR or lengthen the segment. Warnings: bend too close to the previous bend, mixed radii in one tube, CLR < 2 x OD, non-tangent user arc.Bend Data
Per tube: feed length, rotation and bend angle for every bend, CLR and arc length, the end feed, and the developed (cut) length. Select tubes, or leave the selection empty to list all.
| Option | Meaning |
|---|---|
| Convention | LRA (Length - Rotation - Angle) or YBC. Same numbers, column names differ. |
| Rotation sign | CCW positive (default) or CW positive - match your bender. |
| First bend rotation | Zero at first bend (default) or World up: rotation of the first bend plane measured from the plane containing the first straight and global +Y. |
| XYZ frame | Machine: P0 at origin, first straight along +X, first bend in the XY plane. Model: design coordinates. |
| Springback % / offset | Over-bend so the tube relaxes to the design angle: set angle = angle x (1 + %/100) + offset. Calibrate per material and die (Bend-Tech style). Shown in the "Set deg" column. |
| Mark offset (die) | For manual / semi-auto benders: the "Mark mm" column is where to mark the straight blank for each bend = start of the bend (cumulative feeds + arcs) + your die's bend-location offset. |
Each tube also reports its mass (steel 7.85 kg/dm3) in Bend Data, the Cutting List and the exports.
How it is computed
- Apexes
P0..Pnare the intersections of the straights. Bend angleA = angle(v[i-1], v[i]); setbackt = CLR x tan(A/2). - Feed = straight length minus the setbacks at both ends. Rotation = signed angle between consecutive bend planes about the incoming tube axis.
- Arc length
= A[rad] x CLR x (1 + elongation/100); developed length = sum of feeds + arcs.
Cutting List
Tubes with the same size and the same bend sequence (either direction) are grouped into one row with a quantity. The PDF includes a bend table and a machine-frame sketch per unique bent tube, the fittings BOM and a weld-joint summary (count and diameter-inches per joint type and size).
Weld Joints
Pipework is estimated per joint, not per millimetre of seam: the shop unit is the diameter-inch (nominal size in inches × joints × a type factor). The command lists every weld of the model without touching the geometry — joints are read from the fitting ports and the tube ends:
- Butt weld — every port of an elbow, tee, reducer, cap, weld-neck flange or custom fitting, and two collinear tube ends of the same size (field joint). Length = circumference.
- Socket weld — with Socket-weld fittings up to OD set (typically 60.3 mm, DN50), elbows, tees, caps and custom fittings on pipe that size or smaller count as one fillet at the socket mouth, factor 0.75 (ASME B16.11 small-bore practice). 0 = every fitting butt-welded.
- Slip-on flange — two fillets (hub and face), factor 1.0.
- Set-on branch — a tube whose end sits on the barrel of another tube (after a notch cut). Length = the saddle intersection curve, factor 1.5.
Per joint: type, size, length, dia-inch, deposited metal (butt = single-V 60° with root and cap; fillet leg = wall, min 3 mm), wire with the deposition efficiency, minutes from Minutes per dia-inch, and cost from the labour rate and consumable price. Rates are remembered. Show joints on the model draws every counted joint with its label (bronze = butt, blue = fillet, green = set-on curve, red = excluded); Exclude joints: click the tube or fitting next to a ring to leave that joint out of the count, cost and beads — a flange that bolts to customer equipment, a sub-assembly welded elsewhere — it stays in the list marked excluded. Bead rings on the model adds a bronze torus bead at every circumferential joint in a Welds component (set-on branches are listed only); running the command again replaces them. CSV and PDF export include the per-type/size summary.
Fitting
Select the sketch point where tubes meet. The connected curves give the tube directions; the pipe size is taken from a routed tube at that node (or pick it). Adjoining tubes are cut back by the fitting's centre-to-face plus the root gap and rebuilt automatically (a tube passing through the node is split into two pieces).
| Type | Geometry | Pipe cut-back |
|---|---|---|
| Elbow 90 LR / SR, 45 LR | Torus segment, centreline radius 1.5 x OD (LR) or 1.0 x OD (SR); built to the actual sketch corner angle. | CLR x tan(A/2) + gap |
| Tee (equal) | Run + branch cylinders, centre-to-end from ASME B16.9 (fallback 0.7 x OD + 20). | centre-to-end + gap |
| Flange (slip-on) | Disc + hub with bolt holes from EN 1092-1 PN16 or ASME B16.5 Class 150 (nearest OD). Placed on a free end; the pipe is not shortened. | 0 |
| Tee (reducing branch) | Like the equal tee with a smaller branch size. | centre-to-end + gap |
| Cross (equal) | Run + two branches at a node where four lines meet. | centre-to-end + gap |
| Reducer (concentric) | Cone between two sizes at a junction of collinear lines; length from B16.9. | length / 2 + gap |
| Cap (butt-weld) | Domed cap on a free end (B16.9 length E). | 0 |
| Flange (weld-neck) | Butt-welded at the pipe end; the neck tapers to the disc, flange face away from the pipe. | 0 |
| Flange (blind) | Solid disc with bolt holes beyond the end. | 0 |
| Custom: ... | Any fitting captured with Fitting from Model. | port distance - insertion + gap |
Auto Route
Pick a start and an end point (sketch point, vertex or construction point) and the bodies to avoid. The add-in searches an orthogonal path on a voxel grid (A*, six axis directions) that keeps clearance (+ half the pipe OD) from every obstacle's bounding box and prefers fewer bends (Bend avoidance). The result is a 3D sketch AutoRoute n; with Route pipe on the path the tube is swept immediately and can be edited like any routed tube.
Notch Template
Fishmouth / cope for a branch tube meeting a target tube. Pick the branch's cylindrical face then the target's (radius, axis angle and offset are read from the model), or type r / Rc / angle / offset. The unrolled cut curve is exported as a 1:1 PDF tiled over A4/Letter pages with crop marks, a 100 mm check bar and 0/90/180/270 wrap marks, and as a DXF (layers CUT / EDGE / MARKS). Wrap the printout around the branch tube with the 0 mark on the common plane.
Options: Cut the notch on the model copes the branch body on the model (live preview); Cut penetration hole in target also drills the branch bore through the near wall of the target (flow-through joint, like SolidWorks segment penetration).
Math: w = r sin(phi) + e, depth = Rc - sqrt(Rc^2 - w^2), z = depth / sin(theta) + r cos(phi) / tan(theta), x = r phi.
Library
607 sizes ship in 27 families: EN 10255 medium/heavy, EN 10220 / ISO 4200 series 1, EN 10305 precision tube (OD 8-114 mm, walls 1-5 mm), sanitary ISO 2037 and DIN 11850, copper EN 1057 and ASTM B88 L, NPS Sch 5S/10/40/80/160 (1/8"-12"), PVC Sch 40/80, DOM, 4130 chromoly, exhaust and A554 stainless tube (inch), 6061 aluminium, EN 39 scaffold 48.3, PPR PN10/PN20 (DIN 8077), JIS SGP / STPG / SUS Sch 10S / STKM. Flange tables: EN 1092-1 PN10/16 and PN40, ASME B16.5 Class 150 and 300, JIS B2220 10K. Certified-exact: pipe OD/wall tables, B16.9 centre-to-end, B16.5/EN 1092 D-b-k-n-hole, EN 558 series 27 valve FTF. Approximate by design (vendor-specific): flange hub diameters/heights, weld-neck lengths, ball-valve body shape - check against your supplier for shop drawings. Tee / reducer / cap dimensions follow ASME B16.9 by OD.
Manage Library
| Action | What it does |
|---|---|
| Add pipe / tube size | Pick an existing standard/family or type new ones, give a size name, OD, wall and default CLR. From model: pick the outer (and inner) cylindrical face of any tube to fill OD and wall automatically. |
| Delete size / family | Removes entries (confirmation asked). Built-in entries can be deleted too; dev/build_library.py restores them. |
| Add / delete flange size | Flange OD, thickness, bolt circle, bolt count, hole, hub and weld-neck length for a standard (existing or new). |
| Import / export CSV | Pipes: standard, standard_label, family, family_label, type, size, od_mm, wall_mm, clr_default_mm. Flanges: standard, standard_label, size, pipe_od_mm, D_mm, b_mm, pcd_k_mm, bolts_n, hole_mm, hub_d_mm, hub_h_mm, wn_len_mm. Export first to get a template; paste supplier catalogues in. |
User entries are flagged custom in data/pipes.json / data/fittings.json and survive library regeneration and release builds.
Fitting from Model
Turn any solid - an imported vendor STEP valve, a coupling, a push-fit connector, a flange you modelled - into a reusable library fitting:
- Select the body, then one circular edge per port (the rim of each face where a pipe connects). The port axis points out of the body; the fitting's node is where the port axes meet.
- Give it a name and, for socket / push-fit connectors, the pipe insertion depth.
- OK stores the solid (SMT) and its ports in
data/custom_fittings/. It now appears in Fitting > Type as Custom: name.
When inserted, the ports are matched to the sketch directions at the node (any orientation), and each pipe is cut back by node-to-port distance - insertion + gap individually. Custom fittings appear in the Cutting List BOM. Use the Delete from library dropdown in the same dialog to remove one.
Licensing & privacy
Open Manage > Info for license status, activation codes and purchase links. See PRIVACY.txt in the add-in folder for the privacy policy.