export_csv.py und omniflo_utils.py bereinigt und korrigiert
lib/export_csv.py:
- CSV-Header vereinfacht: NachbarIds, Planquadrat und rotation-Spalten
entfernt (nicht im Sivas-Format benoetigt). Anzahl-Spalte auf festen
Wert 1 gesetzt.
- format_planquadrat() entfernt (war unused nach Header-Aenderung).
- process_blocks(): elem_nr startet bei 0 statt -1 (erster Block war
mit Nummer -1 ausgegeben worden).
- build_bogen_merkmale(), build_weiche_merkmale(): KurvenWinkel und
Radius werden jetzt explizit als float() gecastet, um sicherzustellen
dass JSON-Werte aus dem Katalog als Zahl und nicht als String landen.
- Felder nachbarids, planquadrat, rotation aus den item-Dicts entfernt.
lib/omniflo_utils.py:
- import_element_as_block(): prueft jetzt zuerst ob eine Block-
definition mit dem Zielnamen in der Quelldatei existiert (erzeugt
durch set_attributs.py). Falls ja, wird diese direkt importiert
statt des gesamten Modelspace. Das verhindert doppelte Entities wenn
set_attributs.py die Geometrie bereits in einen Block gefasst hat.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
-2
@@ -212,11 +212,21 @@ def build_row_layout(data_dir, results_dir):
|
||||
|
||||
|
||||
def import_element_as_block(source_doc, target_doc, block_name):
|
||||
"""Importiert alle Modelspace-Entities eines Quell-Dokuments als Block."""
|
||||
"""
|
||||
Importiert ein Quell-Dokument als Block in target_doc.
|
||||
|
||||
Wenn das Quell-Dokument eine Blockdefinition mit dem Namen block_name
|
||||
enthaelt (erzeugt durch set_attributs.py), wird diese direkt importiert.
|
||||
Andernfalls werden alle Modelspace-Entities als Block importiert.
|
||||
"""
|
||||
importer = Importer(source_doc, target_doc)
|
||||
importer.import_tables()
|
||||
blk = target_doc.blocks.new(name=block_name)
|
||||
for entity in source_doc.modelspace():
|
||||
if block_name in source_doc.blocks:
|
||||
source_layout = source_doc.blocks[block_name]
|
||||
else:
|
||||
source_layout = source_doc.modelspace()
|
||||
for entity in source_layout:
|
||||
importer.import_entity(entity, blk)
|
||||
importer.finalize()
|
||||
return block_name
|
||||
|
||||
Reference in New Issue
Block a user