New York Brownstone IFC Generator

Create detailed 3D models of classic New York brownstones in Industry Foundation Classes (IFC) format using Python

Download Scripts

Generate Complete Brownstone Models

Our Python-based IFC generator creates detailed 3D models of classic New York brownstones, complete with architectural elements, fixtures, and basic MEP systems.

Architectural Accuracy

Authentic brownstone design with traditional elements like the classic stoop, high-ceilinged parlor floor, and period-appropriate dimensions.

Customizable

Easily modify dimensions, layout, and features by changing parameters in the Python script to create your ideal brownstone model.

BIM Compatible

Generated IFC files can be imported into professional BIM software like Revit, ArchiCAD, and other IFC-compatible tools.

How It Works

1 Generator Script

The main Python script that creates the IFC model of the brownstone building. It uses IfcOpenShell to define the building structure, walls, floors, windows, doors, and fixtures.

python brownstone-ifc-generator.py
Key Features:
  • Creates complete 5-story brownstone (basement + 4 floors)
  • Generates walls, floors, windows, doors
  • Adds stoop, fixtures, and basic MEP elements
  • Produces standard IFC file for BIM compatibility

2 Viewer Script

A companion script that visualizes the generated IFC model using PyVista. Allows for interactive exploration of the 3D brownstone model.

python brownstone-ifc-viewer.py
Visualization Features:
  • Interactive 3D visualization
  • Color-coded building elements
  • Rotation, pan, and zoom controls
  • Element identification

3 Setup Script

A helper script that checks for and installs the necessary dependencies to run the generator and viewer scripts.

python brownstone-ifc-setup.py
Manages Dependencies:
  • IfcOpenShell for IFC file manipulation
  • NumPy for numerical operations
  • PyVista for 3D visualization

4 Customization

The scripts can be easily customized by modifying the parameters at the top of the generator file.

# Global parameters for the brownstone
BUILDING_WIDTH = 40.0  # feet
BUILDING_DEPTH = 80.0  # feet
BASEMENT_HEIGHT = 9.0  # feet
FIRST_FLOOR_HEIGHT = 10.0  # feet
SECOND_FLOOR_HEIGHT = 14.0  # feet
THIRD_FLOOR_HEIGHT = 12.0  # feet
FOURTH_FLOOR_HEIGHT = 12.0  # feet

Interactive 3D Viewer

Upload your generated IFC file to visualize it in the browser:

Loading...

Loading IFC model...

Viewer Controls

  • Rotate: Left-click + drag
  • Pan: Right-click + drag
  • Zoom: Scroll wheel
  • Reset View:
  • Toggle Elements:

Documentation

  1. Install Python 3.7 or newer
  2. Download the script package
  3. Run the setup script to install dependencies:
    python brownstone-ifc-setup.py
  4. Once setup is complete, you can run the generator script
The setup script will attempt to install all required dependencies, including IfcOpenShell, NumPy, and PyVista.

1. Generate the IFC Model

Run the generator script to create the brownstone IFC file:

python brownstone-ifc-generator.py

This will create a file named new_york_brownstone.ifc in the current directory.

2. View the Model

Use the viewer script to visualize the generated model:

python brownstone-ifc-viewer.py

You can also specify a different IFC file to view:

python brownstone-ifc-viewer.py path/to/your/file.ifc
3. Customize the Model

Edit the parameters at the top of brownstone-ifc-generator.py to change dimensions, layout, and other features of the brownstone.

Brownstone Structure
  • Building Footprint: 40' × 80'
  • Lot Size: 50' × 100'
  • Number of Floors: 5 (basement + 4 floors)
  • Total Height: Approximately 60'
  • Total Area: Approximately 16,000 sq ft
Brownstone Features
  • Classic Facade: Traditional brownstone front
  • Stoop: Traditional entry staircase
  • Parlor Floor: High-ceilinged second floor (14' ceiling height)
  • Windows: Traditional sash windows
  • Layout: Typical brownstone room organization
Included Elements
  • Exterior and interior walls
  • Floors and roof
  • Windows and doors
  • Basic plumbing fixtures
  • Basic MEP elements

Common Issues and Solutions
Issue: ImportError: No module named ifcopenshell
Solution: IfcOpenShell can be difficult to install on some platforms. Try installing from the official website or using a pre-built wheel.
Issue: Visualization shows no geometry
Solution: Verify the IFC file was generated correctly and that PyVista is properly installed with all dependencies.
Issue: Memory errors during generation
Solution: Reduce the level of detail in the model by modifying the generator script, or run the script on a machine with more RAM.
Getting Help

If you encounter issues not covered here, check the README file included with the scripts or submit an issue on the project's GitHub repository.

Download the Brownstone IFC Generator

Get started creating your own brownstone models with our Python script package

Download Scripts (.zip) View on GitHub