> For the complete documentation index, see [llms.txt](https://docs.hamina.com/hamina/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hamina.com/hamina/simulation/cable-trays.md).

# Cable Trays

Learn how to draw cable trays and route cabling through them in Hamina Network Planner Plus.

{% hint style="warning" %}
Adding cable trays requires a **Hamina Network Planner Plus** license.
{% endhint %}

Cable trays enable routing cables more closely to the paths they they will follow on site, rather than straight lines drawn across the map. Devices near a tray have their cables automatically routed through it, which makes cable schedules and length estimates much closer to what will really be installed.

## Drawing Cable Trays

Cable trays are drawn exactly like walls: as a chain of straight segments. To draw cable trays:

1. Select the **Cable Trays** tool in the toolbar.
2. **Left-click** on the map to start a tray segment.
3. **Left-click** again to place the other end of the segment.
4. Continue **left-clicking** to chain additional segments together, following the real path of the tray.
5. **Right-click** to stop drawing.

{% hint style="success" %}
While drawing, hold down the `Space` bar and move the mouse to pan the map without needing to click.
{% endhint %}

{% hint style="info" %}
Unlike walls, cable trays have no height/elevation property, and are modeled as a 2D path only.
{% endhint %}

### Editing Cable Trays

Cable trays can be moved and split just like walls:

* **Move**: Switch to the **Edit** tool, select the tray, and drag it to a new position.
* **Split**: With the **Edit** tool active, select the tray, then hover over it until the add-point cursor appears, and click to add a point. This lets you reshape a run or branch it in a new direction.
* **Delete**: Select the tray (or a segment of it) with the **Edit** tool and press **Delete**/**Backspace**.

## Magnet Distance

Each tray network has a magnet distance, controlled by a slider, which determines how close a device needs to be to get pulled into the tray for cable routing. On the map, this is shown as a shaded blue area surrounding the tray. Any AP, switch, or wired client that falls inside that shaded area is "sucked into" the tray network.

Widening the slider captures devices farther from the tray; narrowing it means only devices very close to the tray will route through it.

## How Network Routing Works

Once a device is captured by a tray's magnet distance, Hamina routes its cable through the connected tray network toward its switch. These cables are drawn on the map as **dashed lines**, and are created automatically for:

* **Access point** to **switch**
* **Wired client** to **switch**
* **Switch** to **switch**

{% hint style="success" %}
Hamina doesn't force a tray route that's less efficient than a direct one. If the shortest path to the assigned switch lies outside the tray network, Hamina uses that direct path instead of forcing the cable through the trays.
{% endhint %}

Which switch a device's cable is routed to depends on its switch assignment: either the automatically-selected nearest switch, or a specific switch you've assigned it to. The cable trays only affect *how* the cable gets there, not which switch it terminates at.

## Switch Assignment

By default, switches and wired clients connect to whichever eligible switch is nearest; Hamina picks this automatically. You can override this by forcing a device to connect to a specific switch instead, even one on a different floor, which is useful for matching a planned IDF/MDF layout, balancing port or PoE usage, or modeling redundancy.

Select the device, then in the **Edit** pane, set its Ethernet connection to the specific switch you want it to use rather than **Nearest device**.

## Cable Length Calculations

Because routing through a tray follows a more predictable, real-world path, Hamina applies different slack to cable length estimates depending on whether a run uses a tray:

* Runs routed through a cable tray receive **10%** slack
* Runs outside cable trays receive **20%** slack

{% hint style="info" %}
AP mounting height also contributes to cable length — for example, if an AP is mounted at 10m/30ft, the cable run estimate adds that amount for the drop to floor level. Switches and wired clients are currently treated as being at floor level for cable length calculations.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hamina.com/hamina/simulation/cable-trays.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
