From 0e069456ac4c97ad3de4a217d6613af9d02526d8 Mon Sep 17 00:00:00 2001
From: Paul Wolok
Date: Mon, 26 Jan 2026 11:37:31 +0100
Subject: [PATCH] Erlaubt nun region
---
lib/dxf2lib.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/dxf2lib.py b/lib/dxf2lib.py
index 5d3c0b8..7683d8d 100644
--- a/lib/dxf2lib.py
+++ b/lib/dxf2lib.py
@@ -26,7 +26,7 @@ def create_block_library(input_dir, output_file, config, logger=None):
logger: Optionaler Logger für Logging-Ausgaben
Note:
- - Unterstützte Entity-Typen: LINE, LWPOLYLINE, POLYLINE, SPLINE, CIRCLE, ARC, INSERT
+ - Unterstützte Entity-Typen: LINE, LWPOLYLINE, POLYLINE, SPLINE, CIRCLE, ARC, INSERT, REGION, …
- Blöcke werden zentriert und in einem 20x20 Raster angeordnet
- Erstellt eine Log-Datei mit Zeitstempel für fehlerhafte Dateien
- Automatische Erstellung des Output-Verzeichnisses falls nötig
@@ -74,6 +74,7 @@ def create_block_library(input_dir, output_file, config, logger=None):
"REVOLVEDSURFACE",
"LOFTEDSURFACE",
"SWEPTSURFACE",
+ "REGION",
}
filtered_entities = []
att_def= {}
@@ -560,6 +561,13 @@ def get_entity_bounding_box(e, doc,src_doc,filename,config, transform_matrix=Non
if transform_matrix:
insert_point = transform_matrix.transform(insert_point)
+ elif e.dxftype() == 'REGION':
+ # Region: Begrenzungsgeometrie über virtual_entities()
+ ve_bbox = _bbox_from_virtual_entities(
+ e, doc, src_doc, filename, config, transform_matrix
+ )
+ if ve_bbox.has_data:
+ bbox.extend(ve_bbox)
elif e.dxftype().endswith('SURFACE'):
# Viele Surface-Typen liefern ihre Proxy-Geometrie über virtual_entities()