IFC2IDA
A Python package for converting IFC (Industry Foundation Classes) files to IDA (Indoor Database ASCII) compatible formats, designed for BIM (Building Information Modeling) data analysis workflows.
Features
-
IFC Parsing: Extract geometric and semantic data from IFC files using
ifcopenshell. -
Data Transformation: Convert IFC entities into structured formats (e.g., CSV, JSON, Parquet) for analysis.
-
Customizable Pipelines: Define rules to map IFC properties to IDA-compatible schemas.
-
CLI Support: Command-line interface for batch processing.
Installation
pip install ifc2ida
For development dependencies:
pip install ifc2ida[dev]
Usage
Basic Conversion
from ifc2ida import convert
# Convert IFC to CSV
convert.ifc_to_csv("input.ifc", "output.csv")
# Convert IFC to Parquet
convert.ifc_to_parquet("input.ifc", "output.parquet")
Command Line Interface
ifc2ida --input model.ifc --output data.csv --format csv
Custom Schema Mapping
Create a JSON configuration file (schema_config.json):
{
"Walls": {
"attributes": ["Name", "Volume", "Material"],
"filters": {"ClassName": "IfcWall"}
}
}
Then run:
from ifc2ida import CustomConverter
converter = CustomConverter("schema_config.json")
converter.convert("input.ifc", "output.parquet")
Documentation
Full documentation available at GitHub Wiki.
Contributing
-
Fork the repository.
-
Create a feature branch (
git checkout -b feature/your-feature). -
Commit changes (
git commit -am 'Add some feature'). -
Push to the branch (
git push origin feature/your-feature). -
Open a Pull Request.
License
MIT License. See LICENSE for details.
Release files for IFC2IDA 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ifc2ida-0.1.1.tar.gz | 2.8 kB | Details |
Release files / ifc2ida-0.1.1.tar.gz
| Download URL | ifc2ida-0.1.1.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22bcebf975c3821306ca62d52834973a5ec224cfc0e43e137de0469e8e3b8df2
|
|
BLAKE2b-256 checksum How to use checksums |
0118edf5ce178037675bb54fc65c29885ef18c5031f34d6b26838eb35da930d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|