Skip to main content

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

🐧 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

📁 Generate yaml configuration from IFC

Instead 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.ifc

Once 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.yaml

🧱 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ifctrano-0.11.0.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ifctrano-0.11.0-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file ifctrano-0.11.0.tar.gz.

File metadata

  • Download URL: ifctrano-0.11.0.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ifctrano-0.11.0.tar.gz
Algorithm Hash digest
SHA256 be4811209a545fd6d21557f9cb6c5cf335b04b4eda07c4b7e7ef3cd63fed0e06
MD5 757097d36d5b534fc9dc3f0605339149
BLAKE2b-256 09413a364480622e6a1432067519892aba585102f837b0853f1908af585ee4a4

See more details on using hashes here.

File details

Details for the file ifctrano-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: ifctrano-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 35.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ifctrano-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6639509b9732793801d237e482e30e6488837673aab4e8f37ac7f3a56cde094
MD5 9535c0b6dbaea1cd90f2bef3a6a05cd1
BLAKE2b-256 651d95f5bf20bc4f903b3c346e8822b513a5df8f3eddaf7cbb3530c94398431a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page