> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Graphic Tool

> Build and customize floor plan, system, and device graphics with smart markers, zones, tables, and layers in the Cloud BMS Graphic Tool.

<Info>
  The Graphic Tool is a building-level module. Select a building from the [sites list](/products/kode-os/sites-and-map) to access the Graphic Tool for that site.
</Info>

The Graphic Tool is the built-in visual editor in Cloud BMS for creating and customizing floor plan, system, and device graphics. It provides features for placing devices, drawing zones, configuring smart markers, building system schematics, and managing layers.

## Access the Graphic Tool

Click `Graphics` in the left navigation bar to open the Graphics module. The module organizes graphics into three categories accessible from the secondary sidebar: `Floor Plans`, `Devices`, and `Systems`.

<Frame caption="The Graphics module lists existing graphics by category with options to search and create new ones">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-floor-plans-list.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=59fe7f497e60437a85e025a74e1847a1" alt="Graphics module showing the Floor Plans tab with a list of existing floor plan graphics and a New Graphic button" width="1024" height="726" data-path="images/kode-os/graphics/kode-os-graphics-floor-plans-list.png" />
</Frame>

You can also enter the Graphic Tool from within any existing graphic by clicking the edit (pencil) icon.

## Create a new graphic

Click `New Graphic` in the upper right corner. A dialog prompts you to configure the graphic details.

<Frame caption="The New Area Graphic dialog collects the graphic name, area assignment, description, and floor plan file">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-new-area-graphic.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=dad26280a1e8bb2fd519a905d77445af" alt="New Area Graphic creation dialog with fields for graphic name, area, description, and floor plan file upload" width="590" height="669" data-path="images/kode-os/graphics/kode-os-graphics-new-area-graphic.png" />
</Frame>

<ParamField path="Graphic Name" type="Field">
  Enter a descriptive name for the graphic (for example, `Floor 03`).
</ParamField>

<ParamField path="Area" type="Field">
  Select the area this graphic represents. The area determines which devices are available for placement.
</ParamField>

<ParamField path="Description" type="Field">
  Add an optional description to provide context for the graphic.
</ParamField>

<ParamField path="Floor Plan File" type="Field">
  Upload a floor plan image by dragging and dropping a file or clicking `Browse files`. You can also select an existing file from the file library using `Browse from files`.
</ParamField>

## The Graphic Tool workspace

The workspace consists of the canvas area on the right and a panel on the left with three tabs: `Devices`, `Elements`, and `Basics`. The bottom toolbar provides layer tabs and overlay controls.

### Top toolbar

The top toolbar provides canvas-level controls for editing and navigating the graphic.

<Frame>
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-toolbar.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=e8f307c0b8a1647c683993dc25663296" alt="Graphic Tool top toolbar showing selection, view, grouping, lock, visibility, undo, redo, background color, edit details, layout options, and zoom controls" width="1024" height="38" data-path="images/kode-os/graphics/kode-os-graphics-toolbar.png" />
</Frame>

From left to right, the toolbar contains:

| Icon                        | Action                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------- |
| **Arrow** (selection)       | Enable editing mode. Select, move, and resize items on the canvas.                                |
| **Hand** (pan)              | Switch to view mode. Pan across the canvas without selecting items.                               |
| **Single square** (group)   | Group multiple selected items into a single unit. Select items first, then click to group.        |
| **Double square** (ungroup) | Treat selected items as separate elements for individual editing.                                 |
| **Lock**                    | Lock a selected item in place to prevent accidental movement. Available when an item is selected. |
| **Eye**                     | Toggle visibility of a selected item on the graphic. Available when an item is selected.          |
| **Undo / Redo**             | Reverse or reapply the last action.                                                               |
| **Background Color**        | Change the canvas background color.                                                               |
| **Edit Graphic Details**    | Update the graphic name, area, and description.                                                   |
| **Layout Options**          | Configure canvas layout and display preferences.                                                  |
| **Zoom controls**           | Zoom in, zoom out, fit to screen, and view the current zoom percentage.                           |

## Devices tab

The `Devices` tab lists all devices and points available for the selected area. Expand a device to see its points, then drag and drop them onto the canvas to place markers.

<Frame caption="The Graphic Tool workspace with the device panel on the left and the floor plan canvas on the right">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/graphics/kode-os-graphics-canvas-devices.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=7182c570d3351cb147716ce13cfd5ccb" alt="Graphic Tool workspace showing a device list with FCU and VAV devices on the left and a 2nd floor plan with device markers on the right" width="1024" height="749" data-path="images/kode-os/graphics/kode-os-graphics-canvas-devices.png" />
</Frame>

### Smart markers

Smart markers provide dynamic, color-coded visualizations that change appearance based on live point values. Unlike default markers that show a static icon and value, smart markers apply rules and ranges to reflect the current state of a point.

<Frame caption="Switching to the Temperature layer reveals smart markers with live temperature readings placed on the floor plan">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-temperature-markers.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=72de753a3f308883fc9e6be4d59a8a5f" alt="Graphic Tool in Temperature layer view showing expanded device points and orange smart markers displaying temperature values on the floor plan" width="1024" height="673" data-path="images/kode-os/graphics/kode-os-graphics-temperature-markers.png" />
</Frame>

For each marker, you select a point and a smart marker configuration. The rules that determine how the marker changes color are managed in the [Graphic Tool settings](#settings).

#### Smart marker display options

Enable the `Smart Marker` toggle on any marker to access smart marker configuration. The following options control how the marker renders on the canvas:

<ParamField path="Point" type="Field">
  Select the point that drives the marker's value and color behavior.
</ParamField>

<ParamField path="Configuration" type="Field">
  Choose a smart marker configuration that defines the value ranges and color rules. Configurations are created in the [Graphic Tool settings](#smart-marker-settings).
</ParamField>

<ParamField path="Include value" type="Toggle">
  Display both the icon and the numeric value on the marker.
</ParamField>

<ParamField path="Icon only" type="Toggle">
  Display only a colored icon reflecting the current value range.
</ParamField>

<ParamField path="Value Only" type="Toggle">
  Display only the numeric value with color coding applied.
</ParamField>

<ParamField path="Color will be applied to" type="Field">
  Choose whether the smart marker color applies to `Icon/value` (the text and icon) or `Background` (the marker container).
</ParamField>

<ParamField path="Show Device Name" type="Toggle">
  Display the device name alongside the marker on the canvas.
</ParamField>

<ParamField path="Always Display Marker as Smart" type="Toggle">
  Force the marker to always render as a smart marker regardless of layer defaults.
</ParamField>

#### Marker style options

Each marker's visual appearance is configurable through the lower section of the Markers panel:

<ParamField path="Layout" type="Field">
  Choose a layout preset (`Default` or other variants) and select between rounded or square corners for the marker container.
</ParamField>

<ParamField path="Point Value" type="Field">
  Set the font size (in pixels), toggle bold formatting, and choose the text color for the displayed point value.
</ParamField>

<ParamField path="Marker Icon" type="Toggle">
  Show or hide the marker icon. Expand this section to configure icon appearance.
</ParamField>

Click `Save Style` to apply changes or `Reset Style` to revert to the default appearance.

#### Difference from setpoint markers

Difference from setpoint markers compare the current value against the device's setpoint. Configure a tolerated deviation (as an absolute value or percentage), and the marker changes color when the value drifts outside the acceptable range.

<Frame caption="Green markers indicate values within the tolerated deviation from the setpoint. Red markers indicate values that exceed the tolerance. The bell icon signals an active FDD alarm on that point.">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-setpoint-markers.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=f37b8a49f6a6db0b1567f87c642e341b" alt="Floor plan with difference from setpoint smart markers showing green markers within tolerance and red markers exceeding tolerance, with bell icons indicating active FDD alarms" width="945" height="611" data-path="images/kode-os/graphics/kode-os-graphics-setpoint-markers.png" />
</Frame>

* **Green** markers indicate the current value is within the configured tolerance of the setpoint
* **Red** markers indicate the value has drifted beyond the tolerated deviation
* The **bell icon** on a marker indicates that the point has an active alarm generated by [FDD](/products/fdd/fdd-overview)
* Hovering over a marker reveals the device name, current value, and effective setpoint

These markers support dual setpoints for devices with separate heating and cooling modes, and can optionally display the delta value.

### Hover-over markers

Hover-over markers allow you to reference multiple points on a single marker while showing only one value by default. Additional points appear when the user hovers over the marker.

<Frame caption="Hovering over a smart marker reveals the device name and additional point values">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-hover-marker.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=9a26c8a992a5feefcdd0f7b4b23366e9" alt="Hover-over marker on a floor plan showing VAV_203 with Zone Temp Setpt and Zone Temp values expanded on hover" width="349" height="242" data-path="images/kode-os/graphics/kode-os-graphics-hover-marker.png" />
</Frame>

* Works with both smart markers and default markers
* Marker headers and labels can be hidden until hover
* When used with smart markers, hovering reveals the device name with a link to device details

### System markers

System markers act as navigation links between graphics. Drag a system from the `Systems` panel in the left-hand elements menu onto any graphic to create a clickable marker that navigates to that system's graphic view.

System markers are useful for:

* Linking related system graphics (for example, AHU graphic to chiller plant graphic)
* Navigating from floor plans to system schematics
* Creating a connected network of visual interfaces

### Point statuses and states

All markers on graphics display real-time status indicators next to point values:

| State          | Indicator   | Meaning                                            |
| -------------- | ----------- | -------------------------------------------------- |
| **Alarm**      | Red icon    | Active alarm condition on this point               |
| **Down**       | Grey icon   | Device or point is not communicating               |
| **Fault**      | Orange icon | Fault condition detected                           |
| **Stale**      | Yellow icon | Value has not updated within the expected interval |
| **Overridden** | Purple icon | Point is currently overridden by a manual command  |

Status icons are enabled by default on smart markers.

### Batch editing and alignment

Select multiple markers by dragging the mouse over them or by holding <kbd>Shift</kbd> and clicking individually. Perform batch updates to marker properties, move all selected markers as a group, or delete them in bulk.

Align multiple selected elements using the alignment toolbar:

* `Left`, `Right`, `Top`, `Bottom` alignment
* `Middle vertically` and `Middle horizontally` centering

### Right-click context menu

Right-click any marker or element on the canvas to access the following actions:

| Action                | Description                                                                                                                                                                      |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Duplicate`           | Create a copy of the selected element in place                                                                                                                                   |
| `Duplicate and Place` | Duplicate the element and assign it to a different device of the same type. A dialog lists all matching devices so you can create copies with identical style and configuration. |
| `Copy to`             | Copy the element to another layer in the graphic                                                                                                                                 |
| `Delete`              | Remove the element from the canvas                                                                                                                                               |
| `Edit Points`         | Open the point selection dialog to add or remove points on the marker                                                                                                            |
| `Bring to front`      | Move the element above all other elements in the stacking order                                                                                                                  |
| `Send to back`        | Move the element behind all other elements in the stacking order                                                                                                                 |
| `Lock/Unlock`         | Lock the element in place to prevent accidental movement, or unlock a locked element                                                                                             |

## Elements tab

The `Elements` tab lists all items placed on the current graphic, including devices, markers, zones, and other elements. Use this tab to locate, select, and manage individual items.

<Frame caption="The Elements tab lists all placed items on the graphic, with lock and visibility controls available per item">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-elements-tab.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=122258c079054e8b093919249bb43bab" alt="Elements tab showing a list of placed devices and zones with lock and visibility icons next to each item" width="1024" height="749" data-path="images/kode-os/graphics/kode-os-graphics-elements-tab.png" />
</Frame>

Hover over an item to reveal the **lock** and **eye** icons for that element. Hold <kbd>Shift</kbd> and click to select multiple items, then batch-apply lock or visibility changes to the entire selection.

## Basics tab

The `Basics` tab provides shapes, device widgets, uploaded files, and a library of pre-built drawing components for annotating and building graphics.

<Frame caption="The Basics tab contains shapes, device widgets, uploaded files, and a searchable library of drawing components organized by category">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/graphics/kode-os-graphics-basics-tab.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=f04873e52086394881e79930fa17fca8" alt="Basics tab showing Shapes section with rectangle, circle, triangle, and other shape tools, Device Widgets, Uploads, and a Drawings library with AHU sensor components" width="300" height="777" data-path="images/kode-os/graphics/kode-os-graphics-basics-tab.png" />
</Frame>

### Shapes

Drag shapes onto the canvas to annotate or highlight areas. Available shapes include rectangle, circle, triangle, polygon, drop, line, arrow, and text.

#### Shape style

Select a shape on the canvas to open the Shape Style panel on the right.

<Frame caption="The Shape Style panel configures format, fill, stroke, and navigation properties for a selected shape">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-shape-style.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=d463fdba28334f8ccc208c1dbae4dd64" alt="Shape Style panel showing Format, Fill, Stroke, and Navigation configuration sections for a selected rectangle shape on a floor plan" width="981" height="751" data-path="images/kode-os/graphics/kode-os-graphics-shape-style.png" />
</Frame>

* **Format** -- set the `Width`, `Height`, and `Corners` (border radius) in pixels. Toggle `Aspect Ratio` to maintain proportions when resizing.
* **Fill** -- choose a `Fill Color` and optionally apply a `Hatching Combinations` pattern.
* **Stroke** -- toggle stroke visibility, set the `Fill Color` and stroke width in pixels.
* **Navigation** -- make the shape interactive by selecting `Insert URL` to link to an external page, or `Link a Device, Area or System` to navigate to a Cloud BMS resource when clicked.

### Device widgets

The Device Widgets section contains three drag-and-drop tools for displaying device data on the canvas.

#### Device table

Table views display point values from one or more devices directly within a graphic. Drag the **Device Table** widget onto the canvas, or click it to open the creation dialog.

<Frame caption="Select a device and check the points you want to display in the table">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/graphics/kode-os-graphics-add-table.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=2267da9fdaee0583f0f28a83f942670a" alt="Add new table dialog showing a device list with FCU208 expanded to reveal individual points with live values" width="574" height="520" data-path="images/kode-os/graphics/kode-os-graphics-add-table.png" />
</Frame>

Expand a device to see its points with current values. Check the points you want to include, then click `Save`. The table appears as a single element on the canvas that you can move and resize.

**Table style**

Select a table on the canvas to open the Table Style panel. The following sections control the table's appearance:

* **Layout** -- choose a layout preset (`Default` or alignment variants) for content arrangement within the table
* **Table Header** -- configure the header text, font size, bold formatting, text color, and `Header Color` background. Toggle `Wrap text` to allow long headers to wrap to multiple lines.
* **Borders** -- toggle border visibility and customize border appearance
* **Point Label** -- set the `Column Width` in pixels for the point name column and toggle `Wrap Text`
* **Rows** -- configure the row font size, bold formatting, text color, and `Row Color` background
* **Point Value** -- set the `Column Width` in pixels for the value column and toggle `Wrap Text`
* **Point Configuration** -- reorder points using the draggable `Point Order` list. Click the edit icon next to a point to rename its label in the table.
* **States Configuration** -- define color states for table rows based on point values, similar to zone states. Click `+ Add state` to create value-to-color mappings.
  **Setpoint highlighting**

Highlight a specific setpoint value on a table to draw attention to the target alongside the current reading. Enable the `Highlight Setpoint` toggle in the Properties section of the style panel to configure it.

<Frame caption="The Highlight Setpoint configuration lets you select the point label, display format, and setpoint color">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-highlight-setpoint.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=dc3a78c869d08acd0423e3367436b610" alt="Highlight Setpoint configuration showing States Configuration with ontology and smart configuration selections, and Properties with point label, text format, and setpoint color options" width="745" height="727" data-path="images/kode-os/graphics/kode-os-graphics-highlight-setpoint.png" />
</Frame>

* **Point Label** -- select which point to use as the setpoint reference
* **Text** -- choose the display format for the highlighted value
* **Setpoint color** -- set the color used to highlight the setpoint value on the table

#### Zone tool

Zone drawings define colored regions on a graphic that change appearance based on aggregated live data from devices within the zone. Click the **Zone Tool** widget, then click on the floor plan to draw the zone outline. Each click places a point that defines a start and end line of the zone boundary. Close the shape to complete the zone.

Select a zone to open the Zones Configuration panel on the right.

<Frame caption="The Zones Configuration panel defines the zone's data source, states, style, and navigation behavior">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-zone-config.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=95c144e979038be28b5fd496b0b89dcf" alt="Zones Configuration panel with Properties, States, Style, and Navigation sections for a selected zone on a floor plan" width="755" height="782" data-path="images/kode-os/graphics/kode-os-graphics-zone-config.png" />
</Frame>

**Properties**

<ParamField path="Kind" type="Field">
  Select the data type for the zone: `Number` for numeric values or `String/Boolean` for enum and boolean points.
</ParamField>

<ParamField path="Devices" type="Field">
  Select the devices within the zone that drive its color. Only devices placed within the zone's borders can be chosen.
</ParamField>

<ParamField path="Points" type="Field">
  Choose the common point across all selected devices (for example, room temperature or occupancy status).
</ParamField>

<ParamField path="Operator" type="Field">
  Determine how multiple device values are combined. For numeric points: `AVG`, `MIN`, `MAX`, `SUM`, or `MED`. For boolean/enum points: `AND` (all values must match) or `OR` (any value triggers).
</ParamField>

**States**

The States section defines how the zone changes color based on live values. Select a `Smart Configuration` to use a pre-built smart marker configuration, or define custom value ranges manually.

<Frame caption="Each state maps a value range to a color. The zone changes color as the aggregated value moves between ranges.">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-zone-states.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=b393f0114b046be7ef140b1755f1bb94" alt="Zone States configuration showing five value ranges with corresponding colors ranging from blue through green to red" width="802" height="766" data-path="images/kode-os/graphics/kode-os-graphics-zone-states.png" />
</Frame>

Click `+ Add state` to define additional ranges. Each state supports comparison operators (`Between`, `Greater than`, `Less than`) with a corresponding color.

**Style**

<ParamField path="Zone name" type="Field">
  Enter a label to display on the zone.
</ParamField>

<ParamField path="Default zone color" type="Field">
  Set the fallback color that displays when the zone's value does not match any configured state.
</ParamField>

**Referenced Space**

Use **Referenced Space** to connect a zone drawing to the spaces model:

* **Assign Space** -- link the selected zone to an existing space
* **Create Space from Zone** -- create a new space record from the zone
* **Add more / Remove** -- manage functionally linked devices in the referenced space context

<Frame caption="Referenced Space options on a selected zone">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-referenced-space-options.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=edeb467af9b4cbbba9fa870f9d4dd71f" alt="Zone configuration panel showing Referenced Space with Assign Space and Create Space from Zone buttons and device link options" width="1024" height="717" data-path="images/kode-os/graphics/kode-os-graphics-referenced-space-options.png" />
</Frame>

**Navigation**

Make the zone interactive by selecting `Insert URL` to link to an external page, or `Link a Device, Area or System` to navigate to a Cloud BMS resource when clicked.

<Note>
  The current version supports one point reference per zone. Each zone evaluates a single point type across the devices within its borders.
</Note>

#### Pivot table

Pivot tables display devices as rows and points as columns, creating a matrix view of multiple devices side by side. Drag the **Pivot Table** widget onto the canvas. The creation flow has two steps:

<Frame caption="Select up to 50 devices to include as rows in the pivot table">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-pivot-table-devices.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=d8aaefc9cb7ca527d5fc9a5cf046497b" alt="Add new Pivot Table dialog showing a searchable device list with checkboxes to select devices as rows, with a 50 device limit" width="558" height="620" data-path="images/kode-os/graphics/kode-os-graphics-pivot-table-devices.png" />
</Frame>

1. **Select devices** -- choose up to 50 devices to appear as rows. Use the search bar or filter by type. Check `Create without points` to add devices with no point columns.
2. **Select points** -- choose up to 10 points to appear as columns. The number next to each point indicates how many of the selected devices have that point.

**Pivot table style**

Select a pivot table on the canvas to open the Pivot Table Style panel:

* **Layout** -- choose a layout preset (`Default` or alignment variants)
* **Borders** -- toggle border visibility and customize border appearance
* **Devices > Column Header** -- configure the font size, bold formatting, text color, `Cell color`, and `Wrap text` for the device name column header
* **Devices > Column** -- configure the font size, bold formatting, text color, and `Cell color` for device name cells
* **Points > Column Header** -- configure the same style properties for the point column headers
* **Points > Column** -- configure style properties for point value cells

### Uploads

Upload images from your computer to use as backgrounds, overlays, or visual elements on the graphic. Click `+` to add a new file.

### Drawings

A library of pre-built drawing components provided by Cloud BMS for building system schematics and graphic layouts. Components are organized by category (sensors, fans, cooling and heating coils, valves, pipes, and more). Expand a category to browse, then drag components onto the canvas.

* Resize and rotate each component
* Group components into sub-assemblies for easier manipulation
* Creating the drawing is separate from placing markers, which you do as a second step

## Layers

Layers organize a graphic into multiple views so that a single graphic can present different data sets without visual clutter. Each layer displays its own set of markers, tables, and points. Switch between layers using the tabs in the bottom toolbar.

Click `+ Add Layer` to create a new layer.

<Frame caption="The Create Layer dialog configures the layer name, icon, and optional layer configuration preset">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/graphics/kode-os-graphics-create-layer.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=5d0f94348ac37ab633b5817307c9b725" alt="Create Layer dialog with fields for layer configuration, layer name, icon selection, and an option to import devices from another layer" width="625" height="484" data-path="images/kode-os/graphics/kode-os-graphics-create-layer.png" />
</Frame>

<ParamField path="Layer Configuration" type="Field">
  Select a pre-configured layer preset from the [Graphic Tool settings](#layer-settings). Presets auto-map device types and points when you drop devices onto the layer.
</ParamField>

<ParamField path="Layer name" type="Field">
  Enter a descriptive name for the layer (for example, `Temperature` or `Occupancy`).
</ParamField>

<ParamField path="Import devices from another layer" type="Toggle">
  Copy device placements from an existing layer into the new one. This avoids re-placing devices that share the same physical locations.
</ParamField>

To reorder layers, click the `Arrange Layers` button in the bottom toolbar. Drag layers into the desired sequence.

<Frame caption="The Layer Arrangement panel lets you reorder layers by dragging them into position">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-layer-arrangement.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=b67b16ca34d3f8178b60b9618fad2864" alt="Layer Arrangement panel showing a draggable list of layers including Default, Devices, Temperature, and Occupancy" width="378" height="267" data-path="images/kode-os/graphics/kode-os-graphics-layer-arrangement.png" />
</Frame>

Layers apply to floor plans, device graphics, and system graphics.

## Overlays

Overlays are visual elements that render on top of the floor plan and can be toggled on or off independently from layers. Use overlays to display infrastructure layouts such as ductwork, piping, or wiring paths without cluttering the primary graphic view.

<Frame caption="A duct overlay rendered on top of a floor plan, showing supply and return duct paths in separate colors">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-overlay-ducts.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=4266768ff50416834e3907e062e76747" alt="Floor plan with blue and purple duct overlays showing supply and return duct routing across the building" width="1024" height="757" data-path="images/kode-os/graphics/kode-os-graphics-overlay-ducts.png" />
</Frame>

Click `+ Add Overlay` in the bottom toolbar to create a new overlay. Each overlay supports its own set of visual elements from the `Elements` tab. Toggle overlay visibility using the eye icon in the bottom toolbar.

## Keyboard shortcuts

| Shortcut                       | Action                 |
| ------------------------------ | ---------------------- |
| <kbd>Ctrl</kbd> + <kbd>Z</kbd> | Undo                   |
| <kbd>Ctrl</kbd> + <kbd>Y</kbd> | Redo                   |
| <kbd>Ctrl</kbd> + <kbd>C</kbd> | Copy                   |
| <kbd>Ctrl</kbd> + <kbd>V</kbd> | Paste                  |
| <kbd>Delete</kbd>              | Delete selected object |
| <kbd>Ctrl</kbd> + <kbd>A</kbd> | Select all             |
| <kbd>Ctrl</kbd> + <kbd>D</kbd> | Duplicate              |

## Settings

Access the Graphic Tool settings by clicking `Settings` in the lower left corner of the Graphic Tool module. The settings page has four tabs: `Layers`, `Smart Markers`, `Icons`, and `Files`.

### Layers

Pre-configure layers so that devices placed on a graphic automatically attach the correct points. Click `+` next to the search bar to create a new layer configuration.

<Frame caption="A configured layer showing the name, category, device type, smart configuration, and display preferences">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-layers.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=a15ecaac84a0211f21c0a35b662bf701" alt="Layer settings page showing a configured layer with name, category, device type, smart configuration, and preferences for marker display" width="1024" height="456" data-path="images/kode-os/graphics/kode-os-graphics-settings-layers.png" />
</Frame>

<ParamField path="Name" type="Field">
  Enter a name for the layer configuration.
</ParamField>

<ParamField path="Category" type="Field">
  Select a category (for example, `Floor Plan`) to organize the layer.
</ParamField>

<ParamField path="Device Type" type="Field">
  Select the device types and points that this layer targets. Click `Edit` to configure which devices and points auto-attach when you drop a device onto a graphic using this layer.
</ParamField>

<ParamField path="Smart Configuration" type="Field">
  Choose a smart marker configuration to apply automatically to markers placed on this layer. Click `Edit` to select a configuration.
</ParamField>

**Preferences**

Set display preferences for markers placed on this layer:

* **Show smart marker icons when placed** -- display only the icon
* **Show smart marker values when placed** -- display only the value
* **Show smart marker icons and values when placed** -- display both

<Frame caption="The Create configuration form with empty fields for setting up a new layer">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-layers-create.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=665117794f8bc22c119fbf1821525130" alt="Empty layer configuration form with fields for name, category, device type, smart configuration, and display preferences" width="1024" height="577" data-path="images/kode-os/graphics/kode-os-graphics-settings-layers-create.png" />
</Frame>

<Tip>
  Layer configurations significantly speed up graphic creation. When a device type and smart configuration are set, dropping a device onto the graphic automatically adds the mapped point as a marker without manual point selection.
</Tip>

### Smart markers

Create and manage smart marker configurations. Click `+` to create a new configuration and choose between two types: `Static Ranges` or `Difference from Setpoint`.

<Frame caption="Smart Markers settings with the configuration type selector, category list, and value range definitions">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-smart-markers.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=24505dd7f150621838033e75e856a1d9" alt="Smart Markers settings showing Static Ranges and Difference from Setpoint options, a category sidebar with configurations, and value range definitions with colors" width="1024" height="531" data-path="images/kode-os/graphics/kode-os-graphics-settings-smart-markers.png" />
</Frame>

**Static Ranges** define fixed value ranges with corresponding colors and icons.

<ParamField path="Category" type="Field">
  Select a category to organize the configuration (for example, `Air Quality` or `Temperature`).
</ParamField>

<ParamField path="Kind" type="Field">
  Choose `Number` or `String/Boolean` depending on the point data type.
</ParamField>

<ParamField path="Unit" type="Field">
  Set the unit of measurement (for example, `percent` or `°F`).
</ParamField>

Define value ranges by clicking `+` next to each row. Each range has a label, `From` and `To` boundaries, an icon, and a color. Click the edit icon next to a label to rename it.

**Difference from Setpoint** markers compare current values against the device setpoint.

<Frame caption="The Difference from Setpoint configuration defines the device type, setpoint field, tolerance, and within/outside setpoint colors">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-setpoint.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=68620a9e58f10a7c123787ef639c37ea" alt="New Group Setpoint dialog with fields for name, category, device type, dual setpoints, setpoint field, tolerance, and within/outside setpoint color configuration" width="658" height="511" data-path="images/kode-os/graphics/kode-os-graphics-settings-setpoint.png" />
</Frame>

<ParamField path="Device Type" type="Field">
  Select the device type this configuration applies to (for example, `ahu`).
</ParamField>

<ParamField path="Dual Setpoints" type="Toggle">
  Enable dual setpoints for devices with separate heating and cooling modes.
</ParamField>

<ParamField path="Setpoint" type="Field">
  Select the setpoint field to compare against (for example, `zone_air_temperature_setpoint`).
</ParamField>

<ParamField path="Calculate in percentage" type="Toggle">
  Express the tolerated deviation as a percentage instead of an absolute value.
</ParamField>

<ParamField path="Tolerated value" type="Field">
  Set the acceptable deviation from the setpoint. Values within this range display the `Within Setpoints` color; values outside display the `Outside Setpoints` color.
</ParamField>

<ParamField path="Show Delta on Smart Marker" type="Toggle">
  Display the difference between the current value and the setpoint on the marker.
</ParamField>

Pre-configured smart markers based on common use cases are available in the library. Use the three-dot menu next to any configuration to duplicate it or move it to a different category.

### Icons

The Icons tab provides two icon sources for use in graphics.

<Frame caption="The KODE Library contains built-in icons for common building equipment and sensors">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-icons-library.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=0fc1d7ac16d026e56b3ef081aaf43a93" alt="Icons settings showing the KODE Library with a searchable grid of built-in icons including AHU Filter, Air Quality, Alarm, Battery, CO2, and more" width="1024" height="612" data-path="images/kode-os/graphics/kode-os-graphics-settings-icons-library.png" />
</Frame>

* **Kode Library** -- browse and search the built-in icon library with icons for common building equipment types
* **Uploaded** -- view and manage custom icons uploaded by your organization. Click `Upload Icon` to add a new icon. Custom icons must be SVG or PNG format with a maximum size of 2 MB.

<Frame caption="The Uploaded section shows custom icons added by your organization with options to delete them">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-icons-uploaded.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=219d2b36010c90497c2fdbffd4031bff" alt="Icons settings showing the Uploaded section with custom organization icons and an Upload Icon button" width="1024" height="596" data-path="images/kode-os/graphics/kode-os-graphics-settings-icons-uploaded.png" />
</Frame>

### Files

Manage uploaded graphic files used across floor plans, devices, and systems. Files are organized by category: `Floor Plans`, `Devices`, and `Systems`.

<Frame caption="The Files tab lists uploaded graphic files with file name, size, and creation date">
  <img src="https://mintcdn.com/kodelabs/XLzbYkNX6LnaxcLs/images/kode-os/graphics/kode-os-graphics-settings-files.png?fit=max&auto=format&n=XLzbYkNX6LnaxcLs&q=85&s=0694243cb08bd859c264cfcd2aa3948a" alt="Files settings showing the Floor Plans category with a list of uploaded files, file sizes, and creation dates" width="1024" height="611" data-path="images/kode-os/graphics/kode-os-graphics-settings-files.png" />
</Frame>

Click `Upload` to add a new file. Use the search bar to find existing files.

<Info>
  The recommended file format for graphic backgrounds is PNG with a maximum width of 1920px and maximum height of 1080px.
</Info>

## Next steps

<CardGroup cols={2}>
  <Card title="Floor plan graphics" icon="map" href="/products/kode-os/graphics/floor-plans" arrow={true} cta="Build">
    Place devices on floor plans with smart markers, zones, and tables.
  </Card>

  <Card title="System graphics" icon="layout-dashboard" href="/products/kode-os/graphics/system-graphics" arrow={true} cta="Create">
    Build system schematics from the drawing component library.
  </Card>

  <Card title="Device graphics" icon="monitor" href="/products/kode-os/graphics/device-graphics" arrow={true} cta="Customize">
    Create equipment-level visuals with live point data.
  </Card>
</CardGroup>
