Skip to main content

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

CI PyPI nl2cad-core Python 3.11+ License: MIT

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

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

iil_nl2cadfw-0.1.1.tar.gz (9.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iil_nl2cadfw-0.1.1-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file iil_nl2cadfw-0.1.1.tar.gz.

File metadata

  • Download URL: iil_nl2cadfw-0.1.1.tar.gz
  • Upload date:
  • Size: 9.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iil_nl2cadfw-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c9654f860ca608c4109bc923582fb1f00bbcbe63c82e4dd1ac42fe8b2da395c2
MD5 1c6d683f3d3abfe50ae01a42970decd2
BLAKE2b-256 2e84729c5ac84a48aa4b8c257904bef3d6d3552f9e60ebb1c4be7bdc991e65de

See more details on using hashes here.

File details

Details for the file iil_nl2cadfw-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: iil_nl2cadfw-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iil_nl2cadfw-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce31e2f5239b1f6b507ad7c55c43d9a68cd50b31a91d3fb3630c40f140dc798c
MD5 c85a92d648f09420c0af47dd609ba750
BLAKE2b-256 f1f5ed6496d245136a499ab9e7681bafb82a144bb852e6d37a1d702d1d60e97c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page