feat: HW Planung - Symbole erzeugen, Nummerierung, Ausgabeziel-Dialog

- Symbole erzeugen (HW_SYMBOLE, Einzelbefehle HW_SYM_*): Bauteile nach
  cfg/io_regeln.json (reduzierte Kopie aus kabellaengen), Symbole aus
  cfg/hw_symbole.json katalog-identisch nachgebaut (lib/hw_symbole.py),
  REALE_POSITION mit x auf dem Bauteil, Paare uebereinander, Ausweichen
  in y ohne Ueberlappung
- Symbole nummerieren (HW_NUMMERIEREN): lib/create_numbers.py samt
  error_collector.py und cfg/enumerate.cfg aus kabellaengen uebernommen
- Ausgabeziel per Dialog dcl/hw_ausgabe.dcl: aktuelle Zeichnung,
  bestehende Datei ergaenzen oder neue Datei
- Materialfluss mit XDATA SSG_HW_MF, ergaenzt vorhandene Datei
- Doku doc/hw_planung.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Michael StanglandClaude Opus 5.5 committed 2026-11-03 16:39:37 +01:00
1 parent d2729140ff
commit 8abb6b3c65
20 files changed
+4176 -183

No files matched your search

+17 -1
View File
@@ -1139,7 +1139,23 @@
"tt-stil-titel": "Change text style",
"hw-csv-fehlt": "\n[HW_MATERIALFLUSS] ERROR: CSV export missing: %1 - material flow not created.",
"hw-fertig": "\n[HW_MATERIALFLUSS] Material flow written: %1",
"hw-symbole-offen": "HW planning - create symbols is not implemented yet.",
"hw-sym-regeln-fehlt": "\n[HW_SYMBOLE] ERROR: rule file not found or empty: %1",
"hw-sym-keine-bauteile": "\n[HW_SYMBOLE] No components from the rule file found in the drawing.",
"hw-sym-bauteile": "\n[HW_SYMBOLE] Component %1: %2",
"hw-fertig-symbole": "\n[HW_SYMBOLE] Symbols written: %1",
"hw-num-kein-dxf": "\n[HW_NUMMERIEREN] Only possible in a saved DXF drawing (e.g. <plant>_HW.dxf), not in %1.",
"hw-num-ergebnis": "\n[HW_NUMMERIEREN] %1 attributes numbered.",
"hw-num-fehler": "\n[HW_NUMMERIEREN] Numbering errors/warnings: %1",
"hw-aus-materialfluss": "Create material flow - where should the output go?",
"hw-aus-symbole": "Create symbols - where should the output go?",
"hw-aus-ordner": "Folder: %1",
"hw-aus-waehlen": "Choose existing file",
"hw-aus-datei-fehlt": "Please choose an existing DXF file.",
"hw-aus-name-ungueltig": "Please enter a valid file name (no path and no special characters like : * ? < > |).",
"hw-aus-name-existiert": "The file already exists - enter another name or choose 'Add to existing file'.",
"hw-aus-dcl-fehlt": "\n[HW Planung] ERROR: dialog not found: %1",
"hw-fertig-aktuell": "\n[HW Planung] Added to the current drawing, %1 objects of the previous output replaced.",
"hw-aktuell-fehler": "\n[HW Planung] ERROR: intermediate file could not be inserted into the current drawing: %1",
"dinformate-dialog-fehlt": "DIN formats dialog not found: %1",
"dinformate-datei-fehlt": "DIN formats: file not found: %1",
"dinformate-prompt-rahmen": "\nBorder insertion point (lower left corner): ",