Skip to main content

nl2cad — Python Library für BIM/CAD-Verarbeitung

CI PyPI nl2cad-core Python 3.11+ License: MIT Website

Framework-agnostische Python-Library für IFC/DXF-Verarbeitung, DIN 277, Brandschutz und GAEB-Export.

→ achimdehnert.github.io/nl2cad — Landingpage (tenantfähig)

Packages

Package PyPI Beschreibung
nl2cad-core PyPI IFC/DXF Parser, Handler-Pipeline, Dataclasses
nl2cad-areas PyPI DIN 277 & WoFlV Flächenrechner
nl2cad-brandschutz PyPI Brandschutz-Analyse, ASR A2.3, DIN 4102
nl2cad-gaeb PyPI GAEB X81–X85 Generator
nl2cad-nlp PyPI Natural Language → CAD Intent & NL2DXF

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)

Source distribution for iil-nl2cadfw 0.2.1
File Size Uploaded Provenance
iil_nl2cadfw-0.2.1.tar.gz 8.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for iil-nl2cadfw 0.2.1
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page