3D Building Geometry Creator

Beta Version 1.1 I 12/11/2025 - 26/11/2025

What is this tool?

The Building Geometry Creator is a comprehensive web-based 3D building modeling tool designed for energy simulation workflows. It enables architects, engineers, and energy modelers to quickly create multi-level building geometry with thermal zones, windows, and proper formatting for energy analysis software. The tool bridges the gap between conceptual design and detailed energy modeling by providing an intuitive 2D drawing interface that automatically generates 3D geometry.

This tool is provided as a standalone HTML5 application for building geometry creation. It requires no installation and runs entirely in your web browser. For support or feature requests, please contact [email protected] for support or use the Support Ticket system.

Key Features

  • Multi-Level Building Creation: Design buildings with unlimited floors/levels

  • Dual Drawing Modes: Rectangle and Polygon tools for zone creation

  • Window Placement System: Manual and automatic window placement with Window-to-Wall Ratio (WWR)

  • Zone Management: Split zones into perimeter/core configurations for detailed energy modeling

  • Real-time 3D Visualization: Interactive 3D preview with orbit controls

  • Multiple Export Formats: OBJ (3D modeling), STL (3D printing), EpJSON (EnergyPlus)

  • Grid System: Configurable grid with snap-to-grid functionality

  • Level Duplication: Copy entire floors to speed up repetitive designs

  • Automatic Zone Naming: Smart naming system with customizable prefixes

System Requirements

  • Browser: Browser (Chromium based)

  • WebGL: Enabled (for 3D visualization)

  • RAM: 4GB minimum, 8GB recommended

  • Screen Resolution: 1280x720 minimum, 1920x1080 recommended

  • Network: Not required (runs offline once loaded)

Access (Free)

The tool is provided as a single HTML file that can be:

  • Hosted on any web server

  • Run locally by opening in a browser

  • Embedded in existing workflows

  • Distributed to team members

Versions

Version
Comment

1.0

Realase

1.1

Added dynamic shading and glazing. Resolved polygon glazing identification. Add multi-story duplication.

1.2 (In progress)

Adding underlays, site shading, level identification and further debugging.

Quick Start Guide

Basic Workflow (5 Steps)

Step 1: Set Up Your Canvas

  1. Open the tool in your web browser

  2. The 2D floor plan view appears by default

  3. Grid is automatically enabled (toggle with grid controls)

  4. Current level shows as "Level 0" (ground floor)

Step 2: Draw Your First Zone

  1. Select drawing mode:

    • Rectangle Mode (default): Click and drag to create rectangular zones

    • Polygon Mode: Click multiple points, double-click to close

  2. Draw your zone on the canvas

  3. Zone automatically receives a name (e.g., "Zone 1")

  4. Height defaults to 3.0m (adjustable in properties)

Step 3: Add More Zones and Levels

  1. Continue drawing zones on current level

  2. To add a new level:

    • Click the up arrow next to level display

    • New level created at specified height

  3. To duplicate a level:

    • Click "Duplicate Level" button

    • Select target level(s)

    • All zones copied to new level(s)

Step 4: Add Windows

Method 1 - Manual Placement:

  1. Select a zone from the zones list

  2. Click "Add Window" in zone controls

  3. Choose wall orientation and position

  4. Set window dimensions

Method 2 - Window-to-Wall Ratio (WWR):

  1. Click "WWR" button

  2. Set target percentage (e.g., 30%)

  3. Choose scope (selected zone/current level/entire building)

  4. Windows automatically placed on exterior walls

Step 5: Export Your Model

  1. Click "Export" button

  2. Choose format:

    • OBJ: For 3D modeling software

    • STL: For 3D printing or visualization

    • EpJSON: For EnergyPlus simulation

  3. File downloads automatically

Features & Functions

Drawing Tools

Rectangle Mode

  • Activation: Click "Rectangle" button or press 'R'

  • Usage: Click and drag from corner to corner

  • Grid Snap: Automatically snaps to grid when enabled

  • Real-time Feedback: Shows dimensions while drawing

Polygon Mode

  • Activation: Click "Polygon" button or press 'P'

  • Usage:

    • Click to place vertices

    • Double-click to close polygon

    • ESC to cancel current polygon

  • Constraints: Minimum 3 vertices required

  • Self-intersection: Automatically detected and prevented

Zone Management

Zone Properties

Each zone has the following editable properties:

  • Name: Unique identifier (auto-generated or custom)

  • Height: Vertical dimension in meters (default 3.0m)

  • Level: Floor assignment (automatically set)

  • Windows: List of associated windows

  • Area: Automatically calculated floor area

Zone Selection

  • 2D View: Click on zone to select

  • 3D View: Click on zone geometry

  • List: Click zone name in sidebar

  • Multi-select: Hold Shift for multiple zones

Zone Operations

Edit Zone:

  1. Select zone

  2. Modify properties in sidebar

  3. Changes apply immediately

Delete Zone:

  1. Select zone

  2. Click delete button (trash icon)

  3. Confirm deletion

Split Zone (Perimeter/Core):

  1. Select rectangular zone

  2. Click "Split Zone" button

  3. Set perimeter depth (typically 3-5m)

  4. Creates 5 zones:

    • North perimeter

    • South perimeter

    • East perimeter

    • West perimeter

    • Core zone

Level System

Level Navigation

  • Up/Down Arrows: Move between levels

  • Level Display: Shows current level name and elevation

  • Level Info: Displays height above ground

  • Overview: Shows total number of levels

Level Operations

Add Level:

  • Automatic: Navigate up from highest level

  • Creates new level 3m above previous

  • Customizable height in settings

Duplicate Level:

  1. Click "Duplicate Level" button

  2. Select source level (current by default)

  3. Choose target level(s)

  4. Options:

    • Include windows

    • Maintain zone names

    • Adjust heights

Delete Level:

  1. Navigate to level

  2. Delete all zones on level

  3. Level automatically removed when empty

Window System

Window Placement Methods

Single Window Placement:

  1. Select zone

  2. Click "Add Window"

  3. Choose wall (North/South/East/West)

  4. Set position along wall

  5. Define width and height

  6. Set sill height (distance from floor)

Multiple Windows:

  1. Select zone

  2. Choose "Multiple Windows" mode

  3. Set number of windows

  4. Choose distribution:

    • Even Spacing: Equal gaps between windows

    • Custom Spacing: Define individual positions

  5. Set uniform or varying dimensions

Window-to-Wall Ratio (WWR):

  1. Click "WWR" button

  2. Configure:

    • Scope: Selected/Level/Building

    • Percentage: 5-95% of wall area

    • Sill Height: Bottom of window position

    • Window Height: Vertical dimension

    • Walls: Select which orientations

  3. Windows automatically calculated and placed

Window Properties

  • Position: X/Y coordinates on wall

  • Dimensions: Width × Height

  • Sill Height: Distance from floor

  • Wall: Orientation (N/S/E/W)

  • Zone: Parent zone reference

3D Visualization

View Controls

  • Toggle: Switch between 2D Floor Plan and 3D View

  • Orbit: Left-click and drag to rotate

  • Pan: Right-click and drag to move

  • Zoom: Scroll wheel or pinch gesture

  • Reset: Double-click to reset view

Display Options

  • Wireframe: Toggle wireframe mode

  • Shading: Solid or transparent walls

  • Level Isolation: Show only current level

  • Window Highlighting: Colored window frames

  • Grid Plane: Show/hide reference grid

Grid System

Grid Controls

  • Toggle: Show/hide grid

  • Snap: Enable/disable snap-to-grid

  • Size: Adjust grid spacing (0.5m - 10m)

  • Subdivisions: Minor grid lines

Grid Behavior

  • Drawing: Cursor snaps to grid intersections

  • Moving: Zones align to grid

  • Resizing: Dimensions round to grid units

Export Functions

OBJ Format Export

  • Purpose: 3D modeling and visualization

  • Contents:

    • Vertex positions

    • Face definitions

    • Material groups by zone

    • Texture coordinates (if applicable)

  • Compatible Software:

    • SketchUp

    • Blender

    • Rhino

    • 3ds Max

    • AutoCAD

STL Format Export

  • Purpose: 3D printing and solid modeling

  • Contents:

    • Triangulated mesh

    • Surface normals

    • Watertight geometry

  • Settings:

    • ASCII or Binary format

    • Unit scaling

    • Mesh resolution

EPJSON Format Export

  • Purpose: EnergyPlus energy simulation

  • Contents:

    • Building geometry

    • Zone definitions

    • Surface constructions

    • Window subsurfaces

    • Zone names and properties

    • Boundary conditions

Detailed Features

Zone Splitting (Perimeter/Core)

The zone splitting feature automatically divides rectangular zones into thermal zones suitable for energy modeling:

Configuration

  • Perimeter Depth: 3-5m typically

  • Delete Original: Option to remove source zone

  • Transfer Windows: Maintain window placement

Generated Zones

  1. Perimeter Zones:

    • Oriented to cardinal directions

    • Consistent depth from exterior

    • Receive transferred windows

  2. Core Zone:

    • Center area beyond perimeter depth

    • No exterior walls

    • Typically no windows

Use Cases

  • ASHRAE 90.1 compliance modeling

  • Detailed thermal zoning

  • Daylighting analysis preparation

  • HVAC system zoning

Multi-Level Operations

Level Duplication Options

  • Single Level: Copy to one specific level

  • Multiple Levels: Batch creation (e.g., floors 2-10)

  • Pattern Repeat: Alternate floor patterns

Duplication Settings

  • Zone Names:

    • Keep original names

    • Add level prefix/suffix

    • Auto-rename sequentially

  • Windows:

    • Include/exclude windows

    • Maintain WWR

    • Adjust for façade changes

  • Heights:

    • Uniform floor-to-floor

    • Variable heights

    • Stepped setbacks

Advanced Window Features

Window Distribution Methods

Even Spacing Algorithm:

Gap = (Wall Length - (Window Width × Count)) / (Count + 1)
Position[i] = Gap + (Window Width + Gap) × i

Center-Weighted Distribution:

  • Higher window density at wall center

  • Reduced density at corners

  • Maintains target WWR

Edge Offset:

  • Minimum distance from wall edges

  • Prevents structural conflicts

  • Customizable offset values

WWR Calculation

WWR = (Total Window Area / Gross Wall Area) × 100%
Window Width = (Wall Length × WWR%) / (Window Height × Count)
Workflow Examples

Example 1: Simple Office Building

Goal: Create 5-story office building with perimeter/core zones

Steps:

  1. Ground Floor (2 minutes):

    • Draw 30m × 20m rectangle

    • Split into perimeter/core (4m depth)

    • Apply 40% WWR to perimeter zones

  2. Duplicate Floors (30 seconds):

    • Click "Duplicate Level"

    • Select levels 1-4

    • Include windows option

  3. Adjust Top Floor (1 minute):

    • Navigate to Level 4

    • Reduce window percentage to 30%

    • Add mechanical penthouse zone

  4. Export (30 seconds):

    • Export as EPJSON

    • Ready for EnergyPlus

Result: 25 thermal zones with appropriate windows

Example 2: Residential Complex

Goal: Create residential building with varying apartment layouts

Steps:

  1. Typical Floor (5 minutes):

    • Use polygon mode

    • Draw 4 apartment units

    • Add corridor zone

    • Apply 25% WWR

  2. Create Variations (2 minutes):

    • Duplicate to Level 1

    • Modify corner units

    • Adjust window placement

  3. Stack Floors (1 minute):

    • Duplicate typical floor to levels 2-6

    • Duplicate variation to levels 7-8

  4. Ground Floor (2 minutes):

    • Return to Level 0

    • Replace apartments with lobby/retail

    • Increase WWR to 60% for retail

Result: Mixed-use building with 40+ zones

Best Practices

Modeling Guidelines

Start Simple

  • Begin with basic rectangular shapes

  • Add complexity gradually

  • Test exports frequently

  • Save versions regularly

Zone Creation

  • Maintain consistent naming convention

  • Group similar zones by prefix

  • Avoid overlapping zones

  • Keep zones convex when possible

Level Management

  • Model typical floor first

  • Use duplication for repetitive floors

  • Verify level heights before duplication

  • Check zone alignment between levels

Performance Optimization

Large Models (100+ zones)

  • Work level by level

  • Hide inactive levels

  • Disable 3D preview during drawing

  • Export in sections if needed

Browser Performance

  • Close unnecessary tabs

  • Clear browser cache regularly

  • Use hardware acceleration

  • Avoid excessive undo/redo

Energy Modeling Preparation

Zone Definition

  • One zone per HVAC control area

  • Separate perimeter/core for large spaces

  • Consider orientation in naming

  • Include plenum spaces

Window Placement

  • Use realistic WWR values

  • Consider shading and overhangs

  • Vary by orientation

  • Account for structural elements

Troubleshooting

Common Issues

Issue: Zones Not Visible in 3D

Symptoms: Zones appear in 2D but not in 3D view

Solutions:

  • Check zone height (must be > 0)

  • Verify level visibility settings

  • Refresh 3D view (toggle views)

  • Check browser WebGL support

Issue: Cannot Close Polygon

Symptoms: Double-click doesn't complete polygon

Solutions:

  • Ensure minimum 3 points placed

  • Avoid self-intersecting shapes

  • Click near first point to close

  • Press ESC and redraw

Issue: Windows Not Appearing

Symptoms: Windows added but not visible

Solutions:

  • Verify window dimensions > 0

  • Check window within wall bounds

  • Ensure zone has height

  • Refresh 3D visualization

Issue: Export File Empty

Symptoms: Downloaded file has no content

Solutions:

  • Check at least one zone exists

  • Verify browser download permissions

  • Try different export format

  • Check browser console for errors

Issue: Performance Degradation

Symptoms: Slow response, lag in drawing

Solutions:

  • Reduce number of visible levels

  • Simplify complex polygons

  • Clear undo history

  • Restart browser

  • Disable 3D preview while drawing

Browser-Specific Issues

Chrome

  • Enable hardware acceleration in settings

  • Disable extensions that may interfere

  • Check WebGL status at chrome://gpu

Firefox

  • Update to latest version

  • Enable WebGL in about:config

  • Increase memory limits if needed

Safari

  • Enable WebGL in Develop menu

  • Check Safari Technology Preview

  • Disable cross-origin restrictions for local files

Data Recovery

Auto-Save

  • Browser stores current state

  • Recovered on page reload

  • Limited to session storage

Manual Save

  • Export project as JSON

  • Includes all zones and windows

  • Can reimport to continue work

Backup Strategy

  • Export at milestones

  • Save multiple versions

  • Use version control for HTML file

Keyboard Shortcuts
Key
Action

R

Rectangle mode

P

Polygon mode

G

Toggle grid

S

Toggle snap

Delete

Delete selected zone

Ctrl+D

Duplicate selected zone

Ctrl+Z

Undo

Ctrl+Y

Redo

Space

Toggle 2D/3D view

↑/↓

Navigate levels

Escape

Cancel current operation

Enter

Confirm dialog

Ctrl+E

Quick export

Settings & Preferences

Coordinate System

  • Origin: Top-left of canvas (2D), center of grid (3D)

  • X-Axis: Horizontal (East)

  • Y-Axis: Vertical (North) in 2D, Height in 3D

  • Z-Axis: Depth (into screen) in 2D, North in 3D

  • Units: Meters (internal), display units configurable

Data Structure

Zone Object

javascript

{
  id: "unique_identifier",
  name: "Zone_1",
  type: "rectangle|polygon",
  vertices: [[x1,y1], [x2,y2], ...],
  height: 3.0,
  level: 0,
  windows: [windowObjects],
  properties: {}
}

Window Object

javascript

{
  id: "window_id",
  wall: "north|south|east|west",
  position: [x, y],
  width: 1.5,
  height: 1.2,
  sillHeight: 0.9,
  zoneId: "parent_zone_id"
}

Export Specifications

EPJSON Structure

  • Compliant with EnergyPlus 9.0+

  • Includes all required objects

  • Validates against schema

  • Proper surface matching

  • Automatic boundary conditions

Geometry Precision

  • Coordinates: 3 decimal places (mm precision)

  • Angles: 1 decimal place

  • Areas: 2 decimal places

  • Volumes: 2 decimal places

Browser Storage

Local Storage

  • User preferences

  • Grid settings

  • Recent projects

  • Custom defaults

Session Storage

  • Current project

  • Undo/redo history

  • View settings

  • Temporary data

Glossary

WWR (Window-to-Wall Ratio): Percentage of exterior wall area that is glazed

Perimeter Zone: Thermal zone adjacent to exterior walls

Core Zone: Interior thermal zone without exterior walls

Sill Height: Vertical distance from floor to bottom of window

EPJSON: JSON format for EnergyPlus input files

Thermal Zone: Space with uniform temperature control

File Formats

OBJ Format

  • Text-based format

  • Human-readable

  • Widely supported

  • Includes materials

STL Format

  • Triangle mesh

  • Binary or ASCII

  • 3D printing standard

  • No material data

EPJSON Format

  • JSON structure

  • EnergyPlus native

  • Hierarchical objects

  • Validated schema

Last updated

Was this helpful?