# Roof Drawing

## Purpose of This Page <a href="#purpose-of-this-page" id="purpose-of-this-page"></a>

The **Roof Drawing** page is the foundation of the entire design and feasibility workflow in solarVis.

Users start by drawing a **2D roof outline**, optionally dividing it using inner edges, and then assigning **slopes** to convert the drawing into a **3D roof model**.

{% hint style="info" %}
This 3D model is later used for:

* Panel placement
* Shading analysis
* Energy and feasibility calculations
  {% endhint %}

## What You Can Do Here <a href="#what-you-can-do-here" id="what-you-can-do-here"></a>

On this page, you can:

* Switch between **View Mode** and **Draw Mode**
* Draw and edit the roof outline in 2D
* Use snapping and angle guides for precision
* Use Inner Edge Detector to create interior divisions
* Add and manage roof obstacles
* Edit building height and roof faces
* Assign slopes to convert 2D geometry into 3D roof faces
* Adjust building height and roof face properties
* Change map provider or upload custom imagery
* Navigate and rotate the 3D scene

{% hint style="info" %}
On this page, changes are saved automatically after you make them.
{% endhint %}

{% embed url="<https://app.arcade.software/share/MSHbtxFt4DZQT1q5cmR6?language=en>" %}

## Modes <a href="#modes" id="modes"></a>

Explains the available interaction modes used to view, draw, and modify roof geometry.

### View Mode <a href="#view-mode" id="view-mode"></a>

View Mode is used to **inspect** the roof model without modifying its geometry.

In View Mode, you can:

* Rotate, pan, and zoom the scene
* Access and review the building height
* Select roof faces to inspect technical properties like slope, azimuth, and area information
* Select the building for editing or moving the roof and flattening the faces
* Switch back to Draw Mode when geometry changes are needed

This mode is recommended for quality checks and validation.

### Draw Mode <a href="#draw-mode" id="draw-mode"></a>

Draw Mode is used to **create and edit the 2D roof outline**.

#### Drawing the Outline

* Click to place vertices
* Continue clicking to define edges
* Close the polygon to complete the outline
* Orange guides show perpendicular and parallel alignment
* Vertices snap automatically to create a clean roof outline
* Edge lengths are displayed automatically
* Undo and redo buttons are always available

{% hint style="info" %}
The outline is still 2D at this stage. A slope assignment is required to convert it into 3D.
{% endhint %}

When subdividing or splitting the roof, use the **Escape (Esc) key** to complete the current line drawing.

### Converting From 2D to 3D <a href="#converting-from-2d-to-3d" id="converting-from-2d-to-3d"></a>

Once the roof outline is complete, slopes are assigned to the roof faces.

#### Slope Assignment

* Select a face or edge
* Adjust the slope value from the right panel
* Or drag the slope arrow directly on the model
* Each slope transforms that face into a 3D plane

> Building height can also be adjusted numerically or visually.

> Each slope transforms a flat face into a 3D plane with a defined orientation. Also, different faces can have different slopes.

## Inner Edge Detector <a href="#inner-edge-detector" id="inner-edge-detector"></a>

The **Inner Edge Detector** helps users quickly divide complex roof shapes into smaller faces.

### How It Works <a href="#how-it-works" id="how-it-works"></a>

* Analyzes the angles of the roof outline
* Generates an inner line along the bisector
* Suggests these lines as possible interior divisions

### What Users Can Do <a href="#what-users-can-do" id="what-users-can-do"></a>

* Accept suggested inner edges
* Adjust or reposition them
* Remove unnecessary edges
* Add the missing inner edges manually

> Inner edges define geometry only; they do not assign slopes automatically.

## Obstacles <a href="#obstacles" id="obstacles"></a>

Obstacles represent physical objects on the roof where solar panels cannot be placed.

{% hint style="info" %}
Obstacles affect shading calculations.
{% endhint %}

### Adding Obstacles <a href="#adding-obstacles" id="adding-obstacles"></a>

You can add obstacles as:

* Rectangles
* Circles
* Polygons

Each obstacle can be resized, moved, and positioned precisely.

{% hint style="info" %}
You can also duplicate obstacles to quickly model repetitive rooftop elements, or their height above the roof surface can be adjusted manually.
{% endhint %}

### Obstacle Features <a href="#obstacle-features" id="obstacle-features"></a>

* Draw rectangular obstacles
* Resize by dragging corners
* Move obstacles freely on the roof
* Set obstacle height for shading calculations

{% hint style="info" %}
Obstacles can be aligned directly with the roof surface using the **Flush** option.
{% endhint %}

#### Common Obstacle Examples

* Chimneys
* Skylights
* Satellite dishes

## Roof Dormers <a href="#roof-dormers" id="roof-dormers"></a>

Roof dormers are structural roof elements that extend vertically from the main roof surface and create additional roof faces.

<div align="left"><figure><img src="/files/jOPpW5GgygvBB1GzdkRO" alt=""><figcaption></figcaption></figure></div>

In solarVis, dormers are modeled as part of the roof geometry, not as simple obstacles. This allows dormer faces to participate in slope and panel placement logic.

Dormers are commonly used in residential and hotel-type buildings and must be defined accurately to avoid incorrect panel layouts and shading results.

### Adding a Dormer <a href="#adding-a-dormer" id="adding-a-dormer"></a>

Dormers can be added while working in Draw mode.

To add a dormer:

* Switch to Draw mode
* Select the Roof Dormer tool from the top toolbar
* Choose a dormer type
* Click on the target roof face to place the dormer

Once placed, the dormer becomes part of the roof structure.

### Dormer Types <a href="#dormer-types" id="dormer-types"></a>

SolarVis supports multiple dormer geometries to reflect real-world roof structures.

Available dormer types include:

* **Shed Dormer**

  A single-slope dormer with one roof plane.
* **Gable Dormer**

  A dormer with two sloped faces forming a ridge.
* **Hip Dormer**

  A dormer with multiple sloped faces converging at the top.

Each dormer type generates its own roof faces automatically.

### Dormer Roof Faces Properties <a href="#dormer-roof-faces-properties" id="dormer-roof-faces-properties"></a>

When a dormer is selected, its properties are shown in the right-side panel.

You can adjust the following parameters:

* **Width**

  Defines the horizontal size of the dormer.
* **Length**

  Defines how far the dormer extends along the roof surface.
* **Pitch**

  Defines the slope angle of the dormer roof faces.

All values are entered numerically and update the model in real time. Dormer roof faces are treated the same as main roof faces in panel placement and shading calculations.

### Editing Dormer <a href="#editing-dormer" id="editing-dormer"></a>

Dormers can be edited after placement.

You can:

* Resize the dormer by changing the width and length
* Adjust pitch to match architectural drawings
* Move the dormer across the roof face
* Reposition it to avoid conflicts with panels or obstacles

Edits are applied instantly to all dormer roof faces.

### Duplicating a Dormer <a href="#duplicating-a-dormer" id="duplicating-a-dormer"></a>

Dormers can be duplicated to quickly recreate repeating roof structures.

**How Duplication Works**

* Select an existing dormer
* Click the **Duplicate** action from the toolbar or context menu
* A copy of the dormer is created with the same:
  * Dormer type
  * Dimensions
  * Pitch values

The duplicated dormer can then be moved and adjusted independently.

{% hint style="info" %}
**Dormers vs Obstacles**

Dormers are not obstacles.

Key differences:

* Dormers create new roof geometry
* Obstacles only block panel placement

Use dormers when the structure is part of the roof.

Use obstacles for rooftop objects, such as chimneys or vents, on the roof surface.
{% endhint %}

## Undo & Redo & Delete Buttons <a href="#undo-and-redo-and-delete-buttons" id="undo-and-redo-and-delete-buttons"></a>

#### **Undo**

Reverts the last drawing or edit made on the roof layout.

#### **Redo**

Restores the last drawing or edit that was undone.

#### **Delete**

Removes everything that you made, like obstacles, or drawing from the roof.

## Keyboard Shortcuts <a href="#keyboard-shortcuts" id="keyboard-shortcuts"></a>

Keyboard shortcuts allow you to work faster and more precisely while drawing and editing roofs in solarVis.

#### View States

* **1:** Top View
* **2:** Front View
* **3:** Side View
* **4:** Perspective View
* **5:** Isometric View
* **N**: Reset North

View shortcuts change the camera view without modifying geometry.

#### Design Tools

* **E:** Edit Mode
* **C**: Draw Mode
* **V:** View Mode
* **M:** Move Mode
* **I:** Inner Edge Tool

These shortcuts switch between drawing and editing tools.

#### Visibility Controls

* **L:** Show or Hide Dimensions
* **G:** Show or Hide Satellite Ground

Visibility shortcuts reduce visual clutter during editing.

#### Actions

* **Ctrl + Z:** Undo
* **Ctrl + Shift + Z:** Redo
* **Delete or Backspace:** Delete
* **Ctrl + C:** Duplicate

Action shortcuts manage editing history and objects.

#### Quick Add Obstacles

* **Alt + C:** Add Circle Obstacle
* **Alt + R:** Add Rectangle Obstacle
* **Alt + P:** Add Polygon Obstacle

Quick add shortcuts instantly create obstacles for shading and no-go zones.

## Building Editing <a href="#building-editing" id="building-editing"></a>

It allows you to manage the overall structure of the roof model after the 2D outline has been converted into 3D.

Building-level edits affect all connected roof faces and are critical for accurate shading, production, and feasibility calculations.

{% hint style="info" %}
The drawn roof can be duplicated easily instead of creating it again from scratch.
{% endhint %}

### Accessing Building Editing <a href="#accessing-building-editing" id="accessing-building-editing"></a>

To access building editing tools:

* Switch from Draw mode to View mode
* Click on the building body
* The Building panel opens on the right side

This panel contains actions that apply to the entire building or selected roof faces.

### Building Panel Actions <a href="#building-panel-actions" id="building-panel-actions"></a>

From this panel, you can:

* Edit roof geometry and slopes numerically

{% hint style="info" %}
You can resize the building horizontally by dragging a horizontal edge outward or inward. This will extend the drawn edge and adjust the building size accordingly.
{% endhint %}

{% hint style="info" %}
By dragging the edges upward, you can set the desired roof slope
{% endhint %}

* Move the entire roof that you drew

{% hint style="info" %}
Movement does not change geometry, slopes, or dimensions.
{% endhint %}

* Flatten selected roof faces

{% hint style="info" %}
Flattening is useful to reset incorrect slope assignments or inner edges.
{% endhint %}

* Adjust building height numerically or visually in the scene

{% hint style="info" %}
Building height affects shading calculations and multi-level roof behavior.
{% endhint %}

### Roof Face Selection <a href="#roof-face-selection" id="roof-face-selection"></a>

Individual roof faces can be selected for detailed inspection or editing.

To select a roof face:

* Double-click on the face
* The Roof Face Information panel opens

This allows face-level control without affecting the entire building.

#### **Roof Face Information**

When a roof face is selected, the following data is displayed:

* **Slope** represents the inclination of the roof face.
* **Azimuth** represents the compass orientation of the roof face
* **Area** represents the usable surface of the roof face.

This allows precise control over multi-level or complex roof structures.

{% hint style="info" %}
**🧷 Best Practices for Building Editing**

* Always validate the roof face slope and azimuth before panel placement
* Use Flatten Faces to fix early mistakes instead of redrawing
* Inspect each roof face individually on complex roofs

Accurate building editing ensures reliable results across all downstream modules.
{% endhint %}

## Map Provider and Imagery Controls <a href="#map-provider-and-imagery-controls" id="map-provider-and-imagery-controls"></a>

Map and imagery selection is a critical first step for accurate roof drawing.

These controls are located at the bottom left of the screen.

### Satellite Visibility <a href="#satellite-visibility" id="satellite-visibility"></a>

You can toggle satellite imagery on or off to:

* Reduce visual clutter
* Focus on geometry and measurements
* Improve drawing precision

### Dimension Visibility <a href="#dimension-visibility" id="dimension-visibility"></a>

You can show or hide dimensions to:

* Validate edge lengths
* Reduce screen noise during editing

{% hint style="info" %}
Dimension labels remain readable while zooming in and out.
{% endhint %}

### Map Provider Selection <a href="#map-provider-selection" id="map-provider-selection"></a>

You can choose between different map providers depending on availability and resolution:

* Google Maps
* Google Maps HD (Google Solar API)
* Azure Maps

{% hint style="info" %}
Switching providers can improve image clarity, edge visibility, or alignment accuracy for specific locations.
{% endhint %}

{% hint style="info" %}
Availability of solar and roof data for Google Maps HD depends on Google Maps Solar API coverage. Please check the coverage map on the website below to confirm whether data is available for your location.

[Check the website](https://developers.google.com/maps/documentation/solar/coverage)
{% endhint %}

{% hint style="info" %}
Sometimes, the browser’s default settings may not support “**WebGL**”. Please check whether your browser supports WebGL [by using the link](https://get.webgl.org/).

If you see the **“WebGL is not supported”** error, the game engine used for roof drawing may not work properly. To avoid this issue, please make sure that WebGL is enabled in your browser settings.

You can follow the steps in [the link](https://www.youtube.com/watch?v=uhcrK0nl_SM) to update your settings.
{% endhint %}

### Custom Images <a href="#custom-images" id="custom-images"></a>

In addition to map providers, you can upload custom images.

Common use cases include:

* Architectural roof plans
* Drone imagery
* High-resolution site photos

Uploaded images can be aligned to the coordinate system and used as a drawing reference.

This is especially useful when satellite imagery is outdated or unclear.

#### **Image Alignment (Initial Adjustment)** <a href="#image-alignment-initial-adjustment" id="image-alignment-initial-adjustment"></a>

When uploading a custom image, you will be prompted to align it with the base map.

<figure><img src="/files/ReJ8nSL6fxSVtszvBZNU" alt=""><figcaption></figcaption></figure>

To ensure accurate alignment:

* Identify the same reference points in both images
* Place two matching pinpoints on both images
* Use clear and fixed elements such as roof corners or edges
* Click the ‘Adjust’ button to fit the image on the satellite image

{% hint style="info" %}
The left image shows satellite imagery (e.g., Google Maps), and the right image shows the uploaded custom image, such as drone imagery.
{% endhint %}

## Camera and Navigation <a href="#camera-and-navigation" id="camera-and-navigation"></a>

<figure><img src="/files/jqCWFS2sZMhLsiWQTKjg" alt=""><figcaption></figcaption></figure>

Camera tools located at the bottom right affect only how the model is viewed.

> They do not change geometry.

#### Navigation Compass

The compass allows you to:

* Jump to preset views, such as top or side
* Validate roof orientation
* Rotate the view around the building

{% hint style="info" %}
It can be rotated to view around the building by right-clicking and dragging the mouse
{% endhint %}

#### Camera Tools

You can:

* Pan the view
* Zoom in
* Zoom out

These tools help inspect details without modifying the model.

{% hint style="info" %}
The map can be panned by pressing and dragging the mouse wheel.
{% endhint %}

***

## Related Pages <a href="#related-articles" id="related-articles"></a>

* [Panel Placement and Inverter Selection Page](/project-design/create-a-project/panel-placement-and-inverter-selection.md)
* [Energy Consumption Page](/project-design/create-a-project/consumption/energy-consumption.md)

If you encounter any issues, [feel free to contact us.](https://www.solarvis.co/en/company/contact)


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solarvis.co/project-design/create-a-project/roof-drawing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
