Cable Tool

Help & Documentation (based on the current build)
Docs Patch Panel → Switch + Device → Switch Last updated: 22 Jan 2026 ← Return to Tool

Start here

This help page is rewritten from the current build you provided. It starts with the basics, then explains how the maths works, then walks through each part of the UI.

What the tool does

Generates a realistic patch-lead length by modelling a route between two endpoints, using cabinet spacing, tray height/routing, and port positions.

Outputs are designed for schedules: “From”, “To”, route type, and length.

Two supported workflows

  • Patch Panel → Switch (WPT / legacy workflow)
  • Device → Switch (DC / device-aware workflow)

You pick the workflow using the Calculator dropdown at the top of the page.

Most “wrong” results are caused by one of: cabinet spacing, tray routing, or endpoint selection. Start by setting those three correctly.

Executive overview

Cable Tool is a deterministic patch‑lead length calculator designed for repeatable, auditable results across large data‑centre projects.

What this tool replaces

  • Spreadsheet‑only length calculations
  • Hand‑tuned slack formulas per job
  • Inconsistent port numbering and routing assumptions

What this tool guarantees

  • Consistent routing logic
  • Repeatable assumptions
  • Scalable bulk schedules

Choosing the correct workflow

ScenarioRecommended workflow
Traditional structured cablingPatch Panel → Switch
Server / appliance connectivityDevice → Switch (DC)
Large schedules from spreadsheetsBulk + Assigner
Validation and sanity‑checkingManual Input + Visual Route

Golden rules

  1. Define cabinet spacing before anything else.
  2. Choose routing paths before tuning slack.
  3. Resolve port numbering (0‑based vs 1‑based) early.
  4. Validate with Manual before scaling with Bulk.
  5. Export JSON before increasing counts.

Common failure modes

SymptomLikely cause
No output generatedEndpoint port does not exist
Identical cable lengthsRouting path not applied
Off‑by‑one ports0‑based numbering mismatch
Unexpected tray lengthsTray selected without correct height

Choose your calculator

The build ships two pages. They share the same layout (cabinets, switches, device library, project config, assumptions) but differ in the endpoint type.

CalculatorWhen to use itEndpoints
Patch Panel → Switch (WPT) Traditional patching: patch panels to switch ports, bulk schedules, fast one-offs. Patch panel port → switch port
Device → Switch (DC) Device-aware patching: server NICs / appliances / endpoints patched to switches. Device port → switch port
The DC workflow is about patching devices to switches (not about “placing devices into cabinets” yet). That can be a future enhancement.

Quickstart

If you only read one section, read this.

1) Set cabinet layout

  1. Set Rack Height (U) and Number Of Cabinets.
  2. Set Cabinet Spacing (X) and (if used) trays.
  3. Confirm the cabinet numbers match your naming scheme.

Spacing drives cross-cabinet travel — it’s the biggest accuracy factor after routing choice.

2) Configure switches

  1. Pick Independent or Chassis (blades).
  2. Set port counts / blades and confirm start U default.
  3. Optionally enable Switch ports start at 0.

If port numbering doesn’t match your design spreadsheet, everything becomes painful — fix it here first.

3) Patch and export

  1. Use Manual for one-offs, Bulk for schedules.
  2. Use Patching Assigner for predictable port-to-port patterns.
  3. Export the cable list / schedule.

Build confidence with 2–3 test runs, then scale up.

Core concepts

Understanding these makes the rest of the UI obvious.

Endpoints

An endpoint is simply a port on something:

  • Patch panel port (WPT page)
  • Device port (DC page)
  • Switch port (both pages)

Route & length

The route is composed of:

  • Vertical travel using U positions
  • Horizontal travel using port offsets / sides
  • Cross-cabinet travel using cabinet spacing (X) and optional trays (Y)
  • Slack (global and per-route additions)
The UI lets you choose a routing path (internal vs via tray). The assumptions section applies slack and constants consistently across all runs.

Cabinet layout

These settings are shared by Manual, Bulk, Assigner, and the DCIM Cab tab.

  • Rack Height (U) defines the rack model height.
  • Number Of Cabinets creates cabinet “slots” used by other selectors.
  • Length Units (Global) controls how outputs are displayed.
  • Extra Slack applies extra length (on top of route slack rules).

Trays

Trays are optional named routes used for “via overhead tray” paths. If you pick a tray route later, you’ll also pick which tray to use.

Switch configuration

Switch config drives port grid creation and validation across the whole tool.

Independent switches

  • Set Number of Independent Switches
  • Each switch has its own name and port count
  • Best for single fixed switches (24/48/64 etc.)

Chassis (blades)

  • Set Number of Switch Blades and Ports Per Blade
  • Blade numbering & port direction can be controlled in the Assigner settings
  • Best for chassis-style systems
Switch ports start at 0 changes the UI input/output numbering. Internally, maths stays consistent — this toggle is for matching your real-world port labels.

Device library

Define reusable device templates once, then reference them when doing Device → Switch patching.

What a template contains

  • Template name
  • Total ports
  • Device height (U)

This build includes presets under assets/presets/devices.

Best practice

  • Use consistent names that match your BOMs
  • Keep port counts accurate
  • Export your project JSON before large edits
In the current workflow, the Device Library supports consistent endpoint definitions for the DC page. Future versions can expand this into full rack placement and per-port geometry.

Project / Config

This is where you name the config and manage quick saves / exports.

  • Config Name is used when exporting or managing saved configs.
  • Quick Saves lets you store and recall multiple configurations.
  • Use Quick Saves before changing cabinet/switch counts (it prevents accidental loss).

Assumptions & constants

These values control the underlying maths and are applied globally.

KeyMeaningTypical impact
U_CMRack unit height conversion (cm per U)Vertical travel
PORT_CMPort spacing (cm per column)Horizontal travel
CROSSCrossing add (cm) when crossing cabinetsCross-cabinet travel
MAX_PPDefault patch panel size (24/48)Port grid + validation
SW_ZERO_BASEDDisplay switch ports 0..N-1 instead of 1..NNumbering only
ROUTE_TRAY_SLACK_CMExtra slack for tray routes (cm)Tray route total
DEFAULT_GAP_CMDefault gap between adjacent cabinetsCross-cabinet travel
Change assumptions only if you’re standardising across a project. If you tweak them per-job, you’ll struggle to compare results between exports.

Manual Input

Interactive mode for quick checks and visual validation.

Connection parameters

  • Patch Panel Cabinet / U / Port (WPT) or Device + Port label (DC)
  • Connect To: Device or Switch
  • Switch Name / Entry side / Blade / Port
  • Routing Path: internal or via tray + tray selection
Use the port “bubbles” in the Ports sections to auto-fill fields quickly. It’s the fastest way to validate the maths with real examples.

Ports selection

The page provides clickable port grids to reduce typing errors.

Patch panel / device ports

On the WPT page this grid represents patch panel ports. On the DC page it represents device ports.

Port count is driven by patch panel size or device template.

Switch ports

Generated from switch configuration (independent or chassis). Clicking a port selects that port for the current connection.

If “ports start at 0” is enabled, the labels match 0..N-1.

Visual route

A live SVG drawing of the calculated route. Use it to sanity-check the path and to explain results to others.

  • Confirms whether the path is internal or via tray.
  • Helps catch wrong cabinet selection quickly.
  • Makes cross-cabinet routing obvious.

Bulk Input

Paste many runs at once. Ideal for schedules and for importing from spreadsheets.

Bulk workflow

  1. Select Input format (simple vs chassis style).
  2. Paste rows into the bulk input box.
  3. Set Routing Path (bulk) and tray options (if used).
  4. Generate the list and review validation warnings.
Bulk assumes your naming/numbering is consistent. If bulk results look wrong, check cabinet numbering, switch naming, and the port numbering mode first.

Bulk add-ons

The build includes extra bulk calculators (e.g., routing toggles for MGMT/CONS/PDU/AEC/SM/MM and rack count inputs). Treat these as “project helpers” that generate derived cable counts and results.

Patching Assigner

Fast range-to-range assignment with patterns. Use it when the schedule is systematic.

Patterns

  • Port Assignment Direction (ascending/descending)
  • Port Assignment Pattern (1:1, offset, split etc.)
  • Distribution Mode for spreading across blades/switches

Chassis rules

  • Blade Number Direction
  • Port Assignment Per Blade (center-out/outside-in)

These settings matter when your chassis layout isn’t simple left-to-right.

Output

Produces a patching schedule and a cable list. Review the first few lines before exporting the full set.

If an output is empty, it usually means the endpoints didn’t exist.

DCIM Cab tab

A structured “rack view” inside the tool. It’s used for bulk planning steps and derived calculations.

How to use it

  1. Complete cabinet layout + switch config first.
  2. Use the DCIM Cab inputs (rack count, T1 rack number, routing toggles) to model your planned architecture.
  3. Review derived cable counts and results tables.
Treat DCIM Cab as a planning/summary view. Manual/Bulk/Assigner remain the fastest route to generate a final schedule.

Saving & exporting

Use quick saves during iteration, then export when the schedule is ready.

  • Quick Saves — store and load configs without leaving the page.
  • Export JSON — archive a “known good” config for reuse or versioning.
  • Copy/Export tables — paste into Excel/Sheets for deliverables.
Before increasing counts (cabinets, blades, ports), do a quick save. Those changes often regenerate UI blocks and can overwrite in-progress work.

Troubleshooting

Nothing generates / blank output

  • Check endpoint exists (port count / blade count)
  • Check the selected switch name matches the configured switch
  • Confirm port numbering (0-based vs 1-based) matches your input

Lengths look wrong

  • Confirm cabinet spacing (X) and tray height (Y)
  • Confirm route type (internal vs tray)
  • Reset assumptions to defaults and re-test

Bulk import messy

  • Standardise cabinet names and switch names first
  • Try the other input format
  • Test with 3 rows before pasting 300

Device workflow confusion

  • Remember: DC page is Device → Switch patching
  • Create/select a device template with the correct port count
  • Use port grids to avoid label mistakes

FAQ

Do I need trays?

No — internal routing works without trays. Trays matter when you want the model to include “up to tray and back down” travel.

Why is there a “ports start at 0” option?

Some designs label switch ports 0–47 instead of 1–48. This toggle makes the UI match your real-world labels to prevent off-by-one mistakes.

Is DC the same as DCIM?

In this build: DC refers to the Device → Switch calculator page. DCIM Cab is a tab used for structured planning and derived tables.

Can the tool do full rack placement?

Not yet in this build. The Device Library + DC workflow lays the groundwork. Full “place devices into cabinets with per-port geometry” can be introduced later.