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.0.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.0-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

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

Hashes for iil_nl2cadfw-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5ba8e7e0bd1ce958b04559d5eebedada8723827f1c6c48cfafcd89fb6ec382e9
MD5 b051b423c66625f74a900cd5e02ee96c
BLAKE2b-256 3f3fef81af9a88f3854600d0e5cc98a3e012d86096914723e0a174e9b65e63d5

See more details on using hashes here.

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

Hashes for iil_nl2cadfw-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7141f8ff31e2fef666283f4eebf83eb50b46f4b88ff00d81e52a10ede4937d8
MD5 96dcc09ad743d55ba8c2a1b81a67ad18
BLAKE2b-256 13f992840ca3b792c8b458ed1641584c54c6ecec5f08b6d2fd00e2f5b00932aa

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