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.
Two supported workflows
- Patch Panel → Switch (WPT / legacy workflow)
- Device → Switch (DC / device-aware workflow)
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
| Scenario | Recommended workflow |
|---|---|
| Traditional structured cabling | Patch Panel → Switch |
| Server / appliance connectivity | Device → Switch (DC) |
| Large schedules from spreadsheets | Bulk + Assigner |
| Validation and sanity‑checking | Manual Input + Visual Route |
Golden rules
- Define cabinet spacing before anything else.
- Choose routing paths before tuning slack.
- Resolve port numbering (0‑based vs 1‑based) early.
- Validate with Manual before scaling with Bulk.
- Export JSON before increasing counts.
Common failure modes
| Symptom | Likely cause |
|---|---|
| No output generated | Endpoint port does not exist |
| Identical cable lengths | Routing path not applied |
| Off‑by‑one ports | 0‑based numbering mismatch |
| Unexpected tray lengths | Tray 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.
| Calculator | When to use it | Endpoints |
|---|---|---|
| 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 |
Quickstart
If you only read one section, read this.
1) Set cabinet layout
- Set Rack Height (U) and Number Of Cabinets.
- Set Cabinet Spacing (X) and (if used) trays.
- Confirm the cabinet numbers match your naming scheme.
2) Configure switches
- Pick Independent or Chassis (blades).
- Set port counts / blades and confirm start U default.
- Optionally enable Switch ports start at 0.
3) Patch and export
- Use Manual for one-offs, Bulk for schedules.
- Use Patching Assigner for predictable port-to-port patterns.
- Export the cable list / schedule.
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)
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
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)
Best practice
- Use consistent names that match your BOMs
- Keep port counts accurate
- Export your project JSON before large edits
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.
| Key | Meaning | Typical impact |
|---|---|---|
| U_CM | Rack unit height conversion (cm per U) | Vertical travel |
| PORT_CM | Port spacing (cm per column) | Horizontal travel |
| CROSS | Crossing add (cm) when crossing cabinets | Cross-cabinet travel |
| MAX_PP | Default patch panel size (24/48) | Port grid + validation |
| SW_ZERO_BASED | Display switch ports 0..N-1 instead of 1..N | Numbering only |
| ROUTE_TRAY_SLACK_CM | Extra slack for tray routes (cm) | Tray route total |
| DEFAULT_GAP_CM | Default gap between adjacent cabinets | Cross-cabinet travel |
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
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.
Switch ports
Generated from switch configuration (independent or chassis). Clicking a port selects that port for the current connection.
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
- Select Input format (simple vs chassis style).
- Paste rows into the bulk input box.
- Set Routing Path (bulk) and tray options (if used).
- Generate the list and review validation warnings.
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)
Output
Produces a patching schedule and a cable list. Review the first few lines before exporting the full set.
DCIM Cab tab
A structured “rack view” inside the tool. It’s used for bulk planning steps and derived calculations.
How to use it
- Complete cabinet layout + switch config first.
- Use the DCIM Cab inputs (rack count, T1 rack number, routing toggles) to model your planned architecture.
- Review derived cable counts and results tables.
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.
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.