roovie
Core Technology11 min read

3D Building Modeler

Create and edit 3D building models in the browser — from any starting point to simulation-ready geometry.

Roovie includes a full 3D building modeler that runs in the browser.

It is not a lightweight viewer or a simplified box generator. It is a geometry creation and editing environment that supports multiple starting points — addresses, floor plan images, Revit imports, SketchUp files, or freeform drawing — and produces structured building models with zones, surfaces, assemblies, materials, and HVAC equipment ready for energy simulation.

The modeler is built on React Three Fiber with Three.js, running entirely client-side with no plugins or desktop application required.

In One Line

Start from an address, a floor plan, a Revit file, or a blank canvas. Build a complete 3D building model in the browser.

Starting Points

The modeler supports five ways to create a building:

From an Address

Type a street address. Roovie geocodes it, finds the building footprint from satellite data, resolves the height, and generates floor-by-floor zones with oriented surfaces. The result is a 3D model that matches the real building's shape.

From a Floor Plan Image

Upload a floor plan image (PNG, JPG). Calibrate it for scale using a known measurement. The image appears as an overlay in the 3D viewport. Trace zone boundaries by clicking vertices directly on the floor plan. The system converts the traced outline into 3D zone geometry with proper dimensions.

From Revit, IFC, or gbXML

Import a Revit-authored model through IFC and gbXML exchange files. Roovie identifies storeys and spaces, reconstructs zone geometry, maps walls, floors, roofs, windows, and doors, resolves interior adjacencies, and produces a normalized building model ready for Roovie's analysis workflows.

From SketchUp

Import a SketchUp (.skp) file. The geometry is converted to Roovie zones with material assignments preserved. The round-trip export back to SketchUp is also supported.

From Scratch

Start with a blank building and add zones manually using built-in templates: rectangle, L-shape, T-shape, plus shape, or custom polygon. Build the model zone by zone with full control over every vertex.

The 3D Viewport

The viewport is the central workspace. It renders the building model in real time with physically-based materials, lighting, and shadows.

Camera Controls

  • Orbit, pan, and zoom with mouse or trackpad
  • Zoom to fit the entire building or zoom to a selected zone
  • View presets: front, back, left, right, top, bottom, and four isometric angles

View Modes

  • Textured — full PBR material rendering with diffuse, normal, roughness, and ambient occlusion maps
  • Shaded — smooth shading with directional lighting
  • Wireframe — structural edges only, useful for seeing through overlapping zones

Display Toggles

  • Show or hide textures, grid, dimensions, axis gizmo, and vertex handles independently
  • Section plane with height slider for floor-by-floor cross-section review
  • Multi-viewport layouts: single view, 2-pane, 3-pane, or 4-pane quad layout with optional camera synchronization

Zone Tools

Zone Creation

Add zones from built-in templates or draw custom polygons. Each zone represents a thermal block — a distinct space with its own geometry, schedules, internal loads, and HVAC connections.

Zone Manipulation

  • Move, rotate, and scale using 3D gizmos or numeric input panels for precise dimensions
  • Lock zones to prevent accidental edits
  • Reorder zones in the floor stack
  • Duplicate zones above or below with optional deep cloning of assemblies, systems, and schedules
  • Delete zones with proper cleanup of linked resources

Vertex Editing

Click individual vertices to select them. Drag to reposition, or use numeric input for precise coordinates. Vertex alignment tools snap vertices to horizontal or vertical alignment with keyboard shortcuts.

Edge Curves

Select any edge and add arc curves with configurable bulge direction (inward or outward), bulge amount (5 to 50 percent), and smoothness (4 to 32 interpolation segments). Curves are baked into the zone's vertex set for persistence and simulation compatibility.

Roof Editor

The roof editor generates complex roof geometry from 9 roof types:

Pitched Roofs

  • Flat — simple horizontal roof
  • Mono-pitch (Shed) — single slope with configurable pitch angle (5 to 60 degrees)
  • Gable — two-slope roof with configurable ridge height and direction
  • Hip — four-slope roof with configurable ridge offset
  • Pyramid — four triangular faces meeting at a peak
  • Butterfly — inverted gable with valley at center

Curved Roofs

  • Dome — hemispherical surface with configurable curve amount
  • Barrel Vault — cylindrical curve along one axis
  • Conical — cone shape with configurable curve and height

Each type shows a real-time preview with geometry statistics: triangle count, surface area, and peak height. The generated roof is baked as triangulated geometry with tilt and azimuth calculated for each facet — ready for solar and thermal analysis.

Wall Tools

Wall Segment Splitting

Split a single wall into two segments at a chosen point. Each segment can have its own assembly, allowing different construction types on different parts of the same facade.

Wall Segment Combining

Merge adjacent wall segments back into a single segment with a unified assembly assignment.

Per-Orientation Assembly Assignment

Assign different wall assemblies to north, south, east, and west facades independently. A dialog allows selecting which orientations receive which template, with options to clone assemblies per zone or share them.

Window and Door Placement

Window-to-Wall Ratio

Configure glazing ratios independently for each facade orientation: north, south, east, and west. Quick-action buttons set common ratios (0, 25, 50, 75, 100 percent). Windows are generated automatically based on the ratio, respecting configurable constraints for maximum width, minimum width, sill height, aspect ratio, and spacing.

Per-Segment Overrides

Override the window-to-wall ratio on individual wall segments for fine-grained control. This allows a single facade to have different glazing densities on different portions.

Window Assembly Templates

A default window assembly template is applied during generation. Different assemblies can be assigned per orientation.

Surface Editor

Click any surface in the 3D viewport to select it. The surface editor panel shows:

  • Surface type: wall, roof, floor, ceiling, window, or door
  • Boundary condition: exterior, interior (with adjacent zone linking), ground contact, or adiabatic
  • Film coefficients: dynamic or fixed values for interior and exterior convection
  • Shading devices: overhang depth and gap, vertical fin depth and offset, and solar transmittance
  • Orientation: cardinal direction and azimuth angle
  • Area: calculated surface area

Interior surfaces can be manually linked to adjacent zones for proper thermal modeling of shared walls.

Assembly and Material Tools

Assembly Picker

Browse and search the assembly library. Filter by type (wall, roof, floor, ceiling, fenestration). Preview cross-sections showing layers, materials, and thicknesses. Assign assemblies to individual surfaces or in bulk.

Bulk Assembly Editor

Select multiple surfaces across multiple zones. Edit assembly properties — layer thickness, coverage percentage, and control layer designations (thermal, air barrier, vapor control, water control, structural) — across all selected surfaces simultaneously.

Bulk Material Editor

Select multiple zones and update material properties across the selection. Useful for applying consistent material changes across an entire building.

Texture Workspace

PBR Texture Painting

Apply physically-based rendering textures to building surfaces. The system supports four texture map channels: diffuse (color), normal (surface detail), roughness (specular properties), and ambient occlusion (shadow detail).

Texture Assignment Methods

  • Click a surface in the 3D viewport and assign a texture directly
  • Apply a texture to all surfaces of a given type (all walls, all roofs)
  • Bulk-assign to multiple selected surfaces
  • Apply a ground texture for the terrain plane
  • Auto-capture roof texture from satellite imagery

Texture Repeat and Tiling

Configure texture tiling per surface. Auto-calculation tiles at approximately one texture repeat per 2 meters. Full (1:1), auto, or custom repeat values are available.

Material Preview

A 3D PBR sphere renderer shows how materials look with lighting, allowing visual inspection of thermal properties alongside visual appearance.

Equipment Placement

3D HVAC Equipment Models

Place HVAC equipment models (GLTF/GLB or OBJ format) in the 3D viewport. Models can be positioned on roofs, inside zones, or at ground level.

Placement Controls

  • Single placement with click-to-place
  • Bulk placement with specified quantity
  • Transform gizmos for translate, rotate, and scale
  • Numeric input for precise positioning
  • Model duplication and deletion with keyboard shortcuts

Equipment positions are saved with the building and exported with SketchUp packages.

Floor Plan Editor

Image Overlay

Upload floor plan images as reference overlays. Each floor plan can be independently positioned with controls for elevation, rotation, opacity, and XY offset.

Drawing on Floor Plans

With the floor plan visible, draw zone boundaries by clicking vertices directly on the image. Grid snap (0.5m, 1m, 2m, or off) and snap threshold controls help maintain precision. Shift constrains to 90-degree angles. Enter or double-click completes the polygon.

Scale Calibration

Calibrate the floor plan's pixel-to-meter ratio using a known measurement. This ensures that zones traced on the floor plan have accurate real-world dimensions.

Zone Splitting

Draw-to-Split

Enable the split tool, click two vertices on a zone boundary, and the zone divides into two independent thermal zones along that line. Automatic directional naming, configurable assembly handling (share or clone), and 30-minute undo support.

Split Into Floors

Separate a multi-floor zone into individual per-floor zones, each at the correct elevation.

Core and Perimeter Split

Divide a zone into interior core and exterior perimeter zones for more granular thermal modeling.

Documentation and Export

PDF and PNG Export

Generate multi-page PDF documents with floor plans, elevations, assembly cross-sections, dimensions, area labels, scale bars, and north arrows. Configurable paper sizes (A0 through A4), orientation, scale, and unit system. PNG export for individual viewport screenshots.

SketchUp Export

Export a complete SketchUp package: GLB geometry with material assignments, SketchUp material (.skm) files, equipment model placements, and building metadata in a ZIP bundle.

Revit Export

Export an IFC + gbXML + manifest package for Revit-side rebuild workflows.

GLB/GLTF Export

Export raw 3D geometry in standard formats for use in other visualization tools.

Video Recording

Record the 3D viewport as an MP4 video — useful for simulation playback recordings and stakeholder presentations.

Annotations and Notes

Place text annotations (HUD notes) directly in the 3D viewport by clicking to pin. Notes can be moved, edited, deleted, and toggled visible. They persist with the building and appear in documentation exports.

Keyboard Shortcuts

Action Shortcut
Undo Cmd+Z
Redo Cmd+Shift+Z
Duplicate model Cmd+D
Delete model Delete
Align vertices horizontal Shift+H
Align vertices vertical Shift+V
Constrain to 90 degrees Shift (while drawing)
Undo drawing point Backspace
Cancel drawing Escape
Complete polygon Enter or double-click

What Makes This Different

Most building energy tools either require geometry to be created in an external CAD application and imported, or offer only simplified box-model generation. Editing geometry means exporting, modifying in another tool, and re-importing.

Roovie's 3D modeler is different because:

  • It runs entirely in the browser — no desktop application, no plugins
  • It supports multiple starting points: addresses, floor plans, BIM imports, or freeform drawing
  • Geometry editing (splitting, curving, vertex manipulation, roof generation) happens in the same environment as analysis
  • Every geometry change produces surfaces with proper orientation, area, and boundary conditions for simulation
  • Materials and textures are not just visual — they carry thermal properties
  • The same model that is edited is the one that gets simulated, calibrated, and reported on

The modeler is not a pre-processing step that feeds a separate simulation tool. It is the authoring environment for the building model that the entire platform operates on.

Bottom Line

Roovie's 3D building modeler is a browser-based geometry creation and editing environment that turns any starting point — an address, a floor plan, a Revit file, or a blank canvas — into a structured, simulation-ready building model.

Every tool in the modeler — zone creation, roof generation, wall splitting, vertex editing, texture painting, equipment placement — produces geometry that feeds directly into Roovie's physics engine, thermal visualization, calibration, and reporting workflows. There is no gap between modeling and analysis.

Ready to see it in action?

Get early access to roovie and start running building energy simulations at cloud speed.

Get Started