Package for generating building energy simulation model from IFC
Project description
ifctrano - IFC to Energy Simulation Tool
📖 Full Documentation: 👉 ifctrano Docs
Generate Modelica building models directly from IFC files — with support for simulation, visualization, and multiple libraries.
Overview
ifctrano is yet another IFC to energy simulation tool designed to translate Industry Foundation Classes (IFC) models into energy simulation models in Modelica.
Key Differentiator
Unlike most translation approaches that rely on space boundaries (IfcRelSpaceBoundary) (e.g. see An automated IFC-based workflow for building energy performance simulation with Modelica), ifctrano operates solely on geometrical representation. This is crucial because space boundaries are rarely available in IFC models. Instead, ifctrano requires at least the definition of IfcSpace objects to build energy simulation models.
Space-Zone Mapping
For now, each space is considered as a single thermal zone, and the necessary space boundaries are automatically generated.
Why ifctrano?
✅ No reliance on IfcRelSpaceBoundary
✅ Works with geometric representation only
✅ Supports Modelica-based energy simulation
✅ Tested on multiple open-source IFC files
Open Source IFC Test Files
ifctrano has been tested using open-source IFC files from various repositories:
🚀 Installation
📦 Install ifctrano
!!! warning Trano requires python 3.9 or higher and docker to be installed on the system.
ifctrano is a Python package that can be installed via pip.
pip install ifctrano
✅ Verify Installation
Run the following commands to ensure everything is working:
ifctrano --help
ifctrano verify
🔧 Optional Dependencies
🐳 Docker (for simulation)
To enable model simulation using the official OpenModelica Docker image, install Docker Desktop:
👉 https://docs.docker.com/desktop/
Required for using the --simulate-model flag.
🧠 Graphviz (for layout visualization)
ifctrano leverages Graphviz to optimize component layout in generated Modelica models. It is optional, but recommended.
📥 Install on Windows
- Download and install from: https://graphviz.org/download/
- Add the Graphviz
binfolder to your systemPATH.
🐧 Install on Linux
sudo apt update
sudo apt install graphviz
⚙️ Usage
📁 Generate Modelica models from IFC
🏢 Using the Buildings library
ifctrano create /path/to/your.ifc
🏫 Using the IDEAS library
ifctrano create /path/to/your.ifc IDEAS
🧮 Using the Reduced Order library
ifctrano create /path/to/your.ifc reduced_order
🧱 Show Space Boundaries
To visualize the computed space boundaries:
ifctrano create /path/to/your.ifc --show-space-boundaries
🔁 Simulate the Model
Run a full simulation after model generation:
ifctrano create /path/to/your.ifc --simulate-model
Make sure Docker is installed and running before simulating.
💡 ifctrano aims to make energy simulation model generation from IFC files simpler, more accessible, and less reliant on incomplete IFC attributes. 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ifctrano-0.10.0.tar.gz.
File metadata
- Download URL: ifctrano-0.10.0.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70008a09a8ffd6889d645ddacf2a4e6a1a77d7b6923758fb0b48c305b97c462a
|
|
| MD5 |
c7ffb31734ad26cccd095faeb652abad
|
|
| BLAKE2b-256 |
37a9fb25bb8d68d2d82f7a697a73bb95bd7d35b387b328b0d41444d4147b90b4
|
File details
Details for the file ifctrano-0.10.0-py3-none-any.whl.
File metadata
- Download URL: ifctrano-0.10.0-py3-none-any.whl
- Upload date:
- Size: 35.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8fadcca8c58d2b25f3cc83fdb0ed5e46bfdff986c0e662e44d795e71636a193
|
|
| MD5 |
d52229f1ae05393ca2d4b09c26ea7b2a
|
|
| BLAKE2b-256 |
c31d9037610056a2854f20c3769b6a32d6b9d41fb99421c6ed8a9e2f1059ed45
|