NL2CAD Framework — IFC/DXF parsing, DIN 277 area calculation, Brandschutz, GAEB and NLP-to-CAD intent classification
Project description
nl2cad — Python Library für BIM/CAD-Verarbeitung
Framework-agnostische Python-Library für IFC/DXF-Verarbeitung, DIN 277, Brandschutz und GAEB-Export.
Packages
Quick Start
pip install nl2cad-core nl2cad-areas nl2cad-brandschutz nl2cad-gaeb
from nl2cad.core.parsers import IFCParser
from nl2cad.areas.din277 import DIN277Calculator
from nl2cad.brandschutz.analyzer import BrandschutzAnalyzer
from nl2cad.gaeb.converter import IFCX83Converter
# IFC parsen
parser = IFCParser()
model = parser.parse("gebaeude.ifc")
# DIN 277 berechnen
calc = DIN277Calculator()
result = calc.calculate(model.rooms)
print(f"NUF: {result.nutzungsflaeche_m2:.1f} m²")
# Brandschutz analysieren
analyzer = BrandschutzAnalyzer()
bs_result = analyzer.analyze(model)
for mangel in bs_result.maengel:
print(f"⚠️ {mangel.beschreibung}")
# GAEB X83 exportieren
converter = IFCX83Converter()
xml_bytes = converter.convert_to_x83(model, projekt_name="Neubau EFH")
Development
# Repo klonen
git clone https://github.com/achimdehnert/nl2cad.git
cd nl2cad
# uv installieren (falls nicht vorhanden)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Workspace setup (alle Packages als editable)
uv sync --all-packages
# Tests
uv run pytest
# Linting
uv run ruff check packages/
uv run mypy packages/
Für Coding Agents
→ Lies zuerst AGENTS.md — enthält alle Konventionen, Package-Grenzen und Workflows.
Architektur
nl2cad-nlp
└── nl2cad-brandschutz ──┐
└── nl2cad-gaeb ├──→ nl2cad-core (ifcopenshell, ezdxf)
└── nl2cad-areas │
└── nl2cad-core ─────┘
License
MIT — siehe LICENSE
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iil_nl2cadfw-0.1.0.tar.gz.
File metadata
- Download URL: iil_nl2cadfw-0.1.0.tar.gz
- Upload date:
- Size: 9.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ba8e7e0bd1ce958b04559d5eebedada8723827f1c6c48cfafcd89fb6ec382e9
|
|
| MD5 |
b051b423c66625f74a900cd5e02ee96c
|
|
| BLAKE2b-256 |
3f3fef81af9a88f3854600d0e5cc98a3e012d86096914723e0a174e9b65e63d5
|
File details
Details for the file iil_nl2cadfw-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iil_nl2cadfw-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7141f8ff31e2fef666283f4eebf83eb50b46f4b88ff00d81e52a10ede4937d8
|
|
| MD5 |
96dcc09ad743d55ba8c2a1b81a67ad18
|
|
| BLAKE2b-256 |
13f992840ca3b792c8b458ed1641584c54c6ecec5f08b6d2fd00e2f5b00932aa
|