📖 Full Documentation: 👉 ifctrano Docs
Generate Modelica building models directly from IFC files — with support for simulation, visualization, and multiple libraries.
ifctrano is yet another IFC to energy simulation tool designed to translate Industry Foundation Classes (IFC) models into energy simulation models in Modelica.
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.
For now, each space is considered as a single thermal zone, and the necessary space boundaries are automatically generated.
✅ No reliance on IfcRelSpaceBoundary
✅ Works with geometric representation only
✅ Supports Modelica-based energy simulation
✅ Tested on multiple open-source IFC files
ifctrano has been tested using open-source IFC files from various repositories:
!!! 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
Run the following commands to ensure everything is working:
ifctrano --help
ifctrano verify
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.
ifctrano
leverages Graphviz to optimize component layout in generated Modelica models. It is optional, but recommended.
- Download and install from: https://graphviz.org/download/
- Add the Graphviz
bin
folder to your systemPATH
.
sudo apt update
sudo apt install graphviz
ifctrano create /path/to/your.ifc
ifctrano create /path/to/your.ifc IDEAS
ifctrano create /path/to/your.ifc reduced_order
To visualize the computed space boundaries:
ifctrano create /path/to/your.ifc --show-space-boundaries
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. 🚀