Pfadprobleme entfernt und erste wieder lauffähige version erstellt

This commit is contained in:
2025-09-02 10:39:06 +02:00
parent 42bfe554b6
commit 67aed63507
+27 -21
View File
@@ -347,26 +347,7 @@ def main(csv_path: Path, lib_path: Path, cfg_path: Path,
output_path: Path, verbose=False, logger=None):
# Bibliothek nur laden, wenn Datei existiert
lib_doc = None
if lib_path.exists():
try:
lib_doc = ezdxf.readfile(lib_path)
if verbose:
logger.info(f"[INFO] Bibliothek geladen: {lib_path}") if logger else print(f"[INFO] Bibliothek geladen: {lib_path}")
except Exception as e:
msg = f"Fehler beim Lesen der Bibliothek '{lib_path}': {e}"
if logger:
logger.error(msg)
else:
print(msg)
sys.exit(1)
else:
msg = f"[INFO] Keine Bibliothek gefunden unter {lib_path}."
if logger:
logger.warning(msg)
else:
print(msg)
sys.exit(1)
check_dxflibrary_path(lib_path, verbose, logger)
# Neue Ziel­zeichnung (DXF R2018)
doc = ezdxf.new(dxfversion="R2018")
@@ -383,6 +364,9 @@ def main(csv_path: Path, lib_path: Path, cfg_path: Path,
print(msg)
sys.exit(1)
blocklib_dir = data_dir / "block_libraries"
lib_docs = dict()
# Verarbeitung der Blöcke
with csv_path.open(newline="", encoding="utf-8") as fh:
reader = csv.DictReader(fh, delimiter=';')
@@ -428,7 +412,7 @@ def main(csv_path: Path, lib_path: Path, cfg_path: Path,
# Funktions-Dispatch: handle_<teileart> (mit _ statt Leerzeichen und Punkten, alles klein)
func_name = f'handle_{normalize_func_name(teileart)}'
handler = globals().get(func_name)
symbols = get_shape_cfg(teileart, shapes_cfg_path, logger=logger)
symbols = get_shape_cfg(teileart, cfg_path, logger=logger)
# Mapping für Omniflo-Typen
if func_name.startswith('handle_omniflo'):
handler = globals().get('handle_omniflo')
@@ -449,6 +433,28 @@ def main(csv_path: Path, lib_path: Path, cfg_path: Path,
else:
print(f"[DONE] DXF gespeichert unter: {output_path}")
def check_dxflibrary_path(lib_path, verbose, logger):
lib_doc = None
if lib_path.exists():
try:
lib_doc = ezdxf.readfile(lib_path)
if verbose:
logger.info(f"[INFO] Bibliothek geladen: {lib_path}") if logger else print(f"[INFO] Bibliothek geladen: {lib_path}")
except Exception as e:
msg = f"Fehler beim Lesen der Bibliothek '{lib_path}': {e}"
if logger:
logger.error(msg)
else:
print(msg)
sys.exit(1)
else:
msg = f"[INFO] Keine Bibliothek gefunden unter {lib_path}."
if logger:
logger.error(msg)
else:
print(msg)
sys.exit(1)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Plaziert Anlagenkomponenten aus RuleDesigner CSV.")