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
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
Open the tool in your web browser
The 2D floor plan view appears by default
Grid is automatically enabled (toggle with grid controls)
Current level shows as "Level 0" (ground floor)
Step 2: Draw Your First Zone
Select drawing mode:
Rectangle Mode (default): Click and drag to create rectangular zones
Polygon Mode: Click multiple points, double-click to close
Draw your zone on the canvas
Zone automatically receives a name (e.g., "Zone 1")
Height defaults to 3.0m (adjustable in properties)
Step 3: Add More Zones and Levels
Continue drawing zones on current level
To add a new level:
Click the up arrow next to level display
New level created at specified height
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:
Select a zone from the zones list
Click "Add Window" in zone controls
Choose wall orientation and position
Set window dimensions
Method 2 - Window-to-Wall Ratio (WWR):
Click "WWR" button
Set target percentage (e.g., 30%)
Choose scope (selected zone/current level/entire building)
Windows automatically placed on exterior walls
Step 5: Export Your Model
Click "Export" button
Choose format:
OBJ: For 3D modeling software
STL: For 3D printing or visualization
EpJSON: For EnergyPlus simulation
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:
Select zone
Modify properties in sidebar
Changes apply immediately
Delete Zone:
Select zone
Click delete button (trash icon)
Confirm deletion
Split Zone (Perimeter/Core):
Select rectangular zone
Click "Split Zone" button
Set perimeter depth (typically 3-5m)
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:
Click "Duplicate Level" button
Select source level (current by default)
Choose target level(s)
Options:
Include windows
Maintain zone names
Adjust heights
Delete Level:
Navigate to level
Delete all zones on level
Level automatically removed when empty
Window System
Window Placement Methods
Single Window Placement:
Select zone
Click "Add Window"
Choose wall (North/South/East/West)
Set position along wall
Define width and height
Set sill height (distance from floor)
Multiple Windows:
Select zone
Choose "Multiple Windows" mode
Set number of windows
Choose distribution:
Even Spacing: Equal gaps between windows
Custom Spacing: Define individual positions
Set uniform or varying dimensions
Window-to-Wall Ratio (WWR):
Click "WWR" button
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
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
Perimeter Zones:
Oriented to cardinal directions
Consistent depth from exterior
Receive transferred windows
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) × iCenter-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:
Ground Floor (2 minutes):
Draw 30m × 20m rectangle
Split into perimeter/core (4m depth)
Apply 40% WWR to perimeter zones
Duplicate Floors (30 seconds):
Click "Duplicate Level"
Select levels 1-4
Include windows option
Adjust Top Floor (1 minute):
Navigate to Level 4
Reduce window percentage to 30%
Add mechanical penthouse zone
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:
Typical Floor (5 minutes):
Use polygon mode
Draw 4 apartment units
Add corridor zone
Apply 25% WWR
Create Variations (2 minutes):
Duplicate to Level 1
Modify corner units
Adjust window placement
Stack Floors (1 minute):
Duplicate typical floor to levels 2-6
Duplicate variation to levels 7-8
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
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?

