nl2cad — Python Library für BIM/CAD-Verarbeitung
Framework-agnostische Python-Library für IFC/DXF-Verarbeitung, DIN 277, Brandschutz und GAEB-Export.
→ achimdehnert.github.io/nl2cad — Landingpage (tenantfähig)
Packages
Quick Start
pip install nl2cad-core nl2cad-areas nl2cad-brandschutz nl2cad-gaeb
Install-Optionen (Extras)
Das Meta-Paket iil-nl2cadfw bündelt alle Sub-Packages und bietet optionale Extras:
| Extra | Befehl | Zieht zusätzlich |
|---|---|---|
| (keine) | pip install iil-nl2cadfw |
Alle 5 Sub-Packages (core, areas, brandschutz, gaeb, nlp) |
ifc |
pip install "iil-nl2cadfw[ifc]" |
nl2cad-core[ifc] — IFC-Toolchain (ifcopenshell) |
nlp |
pip install "iil-nl2cadfw[nlp]" |
openai>=1.0 für NL2DXF/Intent |
all |
pip install "iil-nl2cadfw[all]" |
IFC-Toolchain + openai |
dev |
pip install "iil-nl2cadfw[dev]" |
pytest, pytest-asyncio, pytest-cov, ruff, mypy |
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
Metadata
Release files for iil-nl2cadfw 0.2.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 | Provenance | |
|---|---|---|---|---|
| iil_nl2cadfw-0.2.1.tar.gz | 8.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iil_nl2cadfw-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / iil_nl2cadfw-0.2.1.tar.gz
| Download URL | iil_nl2cadfw-0.2.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
375c7b7e682ae8f9142ef5d98adf3490917850e07e31c3308747697307250d82
|
|
BLAKE2b-256 checksum How to use checksums |
922e10fcaf39b62e4e605183792f4683ec134f58fd2ab4519cf2ae7c5ebaee82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 14, 2026.
Transparency logRelease files / iil_nl2cadfw-0.2.1-py3-none-any.whl
| Download URL | iil_nl2cadfw-0.2.1-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b21fbabe931d39d75ba6ce7998eafe3db0fc6c15d50c6f5df110fbcd5d0253ce
|
|
BLAKE2b-256 checksum How to use checksums |
16f80d5d571af155f8041f823c7e115540d6623bb75a1e1f2ea8cb29070aa055
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 14, 2026.
Transparency logSecurity for iil-nl2cadfw 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for iil_nl2cadfw-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.