pyifc: Utilities for .ifc files
What is it?
pyifc is a Python package that provides utilities for working with .ifc files.
According to Wikipedia:
The Industry Foundation Classes (IFC) data model is intended to describe architectural, building and construction industry data.
IFC format provides interoperability. This way, it doesn’t matter what software you work on or what file format you deal with on a daily basis. There is a high probability that your software has import and export functions for .ifc files. Learn more about IFC format here.
At this point, the project is in development. If you have any ideas on how it can be improved check Contributions. If you want to know what the project currently consists of, check Modules.
Table of Contents
Modules | Installation | Documentation | Usage | Found a bug? | Changelog | Contributions | Code of Conduct | License
Modules
compress - set of functions responsible for compressing files
In the future:
compare - set of functions responsible for comparing files
count - set of functions responsible for counting elements in a file
modify - set of functions responsible for modifying files
Installation
Use the package manager pip to install pyifc.
pip install pyifc
Unfortunately dependency package ifcopenshell is not distributed via PyPi. Hence you can get error while trying to import pyifc:
ModuleNotFoundError: No module named 'ifcopenshell'
To install ifcopenshell for python use install-ifcopenshell-python. You can simply run:
pip install install-ifcopenshell-python
and:
python -m install_ifcopenshell_python
For more informations check install-ifcopenshell-python.
Documentation
The official documentation is hosted on ReadTheDocs: Documentation.
Found a bug?
Feel free to add a new issue on the the pyifc repository. If you found a solution, feel free to add a new pull request.
Changelog
See CHANGELOG.md.
Contributions
See CONTRIBUTING.md.
Code of Conduct
Everyone interacting in the pyifc project’s development is expected to follow the Code of Conduct.
License
pyifc is released under the terms of the MIT License.
References
compress module is created based on:
*IFCCompressor: A content-based compression algorithm for otpimizing Industry Foundation Classes files*, Jing Sun, Yu-Shen Liu, Ge Gao, Xiao-Guang Han
*IfcOpenShell Optimizer tutorial* by Johan Luttun
Test data is available here.