๐ 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:
- ๐ BIM Whale IFC Samples
- ๐๏ธ IfcSampleFiles
- ๐ญ BIM2Modelica
- ๐ธ๏ธ Ifc2Graph Test Files
- ๐ Open Source BIM
!!! 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 ifctranoRun the following commands to ensure everything is working:
ifctrano --help
ifctrano verifyTo 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
binfolder to your systemPATH.
sudo apt update
sudo apt install graphvizifctrano create /path/to/your.ifcifctrano create /path/to/your.ifc IDEASifctrano create /path/to/your.ifc reduced_orderInstead of directly generating a Modelica model from an IFC file, this command creates a configuration .yaml file compatible with the Trano Python package (https://github.com/andoludo/trano). This configuration file can be reviewed, adapted, and enriched before generating the final Modelica model, allowing for verification and customization of the translation process.
ifctrano config /path/to/your.ifcOnce the YAML configuration file has been generated and adapted, the following command can be used to generate and/or simulate the model.
ifctrano from-config /path/to/your.yamlTo visualize the computed space boundaries:
ifctrano create /path/to/your.ifc --show-space-boundariesRun a full simulation after model generation:
ifctrano create /path/to/your.ifc --simulate-modelMake 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. ๐