docs: README, CLAUDE.md und Befehlsdoku auf aktuellen Stand gebracht

- README.md: Menuebaum neu aus SSG_LIB.mnu (Weichenpunkte, Eckrad-Edit,
  QC-Linie, Fahrstrecke, KettenFoerderer, Schwenkschienen, Stueckliste,
  Din Formate, alle Bloecke 2D/3D ...), Projektstruktur (logs/, lang/,
  tools/, data/ ist eingecheckt), Ladeweg, pytest-Aufruf
- CLAUDE.md: entfernte Dummy-Befehle ILS_ETF_*/ILS-Kurven raus, Module
  Connection_Edit/Jam_Edit/TEFInsert und fehlende DCLs ergaenzt,
  SSG_BLOCKEDIT-Zweige vervollstaendigt, veraltete Verweise
  (geruest-dcl-listenhoehe, object_data.md) korrigiert, Entwicklungsstand
- Lisp/README.md: Kurven-Dummys entfernt, tests.lsp -> external_call.lsp,
  Geruest-Dialog als DCL-Vorlage, GR_* -> EATTEDIT, neue Abschnitte fuer
  JAM_EDIT, KettenFoerderer, Stueckliste/DIN, Export-Hilfen, Pflege-Module
- doc/kommandos.md: ~25 fehlende Befehle ergaenzt, OMNI_KettenFoerderer
  entfernt, create_tests.bat als veraltet markiert (ILS_test.scr fehlt)
- doc/plan/Entwicklungsplan.md: Meilenstein-Status nachgezogen
- doc/todo/*: Pruefvermerk 2026-10-26 - beide Fahrplaene weiterhin offen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 09:15:20 +01:00
parent f8b8a4175b
commit 640a988fa3
7 changed files with 222 additions and 96 deletions
+58 -39
View File
@@ -8,56 +8,66 @@ AutoLISP-Makros (SSG_LIB) fuer BricsCAD Pro zur automatisierten Erstellung von F
SSG_LIB
├── ILS
│ ├── Kreisel-Module
│ │ ├── Einfuegen → KreiselInsert
│ │ ├── Verbinden → KreiselConnect
│ │ ├── Bearbeiten → KreiselEdit
│ │ └── Eckrad → ILS_Eckrad
│ │ ├── Einfuegen / Verbinden / Bearbeiten → KreiselInsert / KreiselConnect / KreiselEdit
│ │ ├── Eckrad / Eckrad bearbeiten → ILS_Eckrad / EckradEdit
│ │ └── Weichenpunkte ermitteln → KREISEL_WEICHEN
│ ├── Zusatzmodul
│ │ ├── BTMT-Beladung → ILS_BTMT_Beladung
│ │ ├── BTMT-Entladung → ILS_BTMT_Entladung
│ │ ├── Scanner einfuegen → ILS_SCANNER_INSERT
│ │ └── Separator einfuegen → ILS_SEPARATOR_INSERT
│ │ ├── BTMT-Beladung / -Entladung → ILS_BTMT_Beladung / ILS_BTMT_Entladung
│ │ └── Scanner / Separator einfuegen → ILS_SCANNER_INSERT / ILS_SEPARATOR_INSERT
│ ├── Foerderer
│ │ ├── Standard → StandardVarioFoerderer / StandardVarioFoerderer3D
│ │ ├── Etage → EtageVarioFoerderer / EtageVarioFoerderer3D
│ │ ├── Streckengruppe (Linienzug) → LinienzugVarioFoerdererManuell / -Zielhoehe / -Stueckweise
│ │ └── Vario_Kette_Merge / VARIOFOERDERER_NACHRUESTEN
│ │ ├── Standard (Werte manuell / aus 3D-Linie) → StandardVarioFoerderer / StandardVarioFoerderer3D
│ │ ├── Etage (Werte manuell / aus 3D-Linie) → EtageVarioFoerderer / EtageVarioFoerderer3D
│ │ ├── Streckengruppe (Linienzug) → LinienzugVarioFoerdererManuell / -Zielhoehe / -Stueckweise
│ │ └── Vario_Kette_Merge / VarioFoerderer nachruesten → Vario_Kette_Merge / VARIOFOERDERER_NACHRUESTEN
│ └── Gefaellestrecke
│ ├── einfach → GEFAELLESTRECKE_EINFACH
│ ├── aus 3D-Linie → GEFAELLESTRECKE_3DLINIE
│ └── aus Linienzug → GEFAELLESTRECKE_LINIENZUG
│ ├── einfach / aus 3D-Linie / aus Linienzug → GEFAELLESTRECKE_EINFACH / _3DLINIE / _LINIENZUG
│ └── QC Linie mit GF (auch U-Form) → QcLinieMitGf / QcLinieMitGfUForm
├── Omniflo
│ ├── Boegen APB110/APB60
│ ├── Aluprofil Gerade (AP60/AP110/APG110)
│ ├── Weichen (90/45/Parallel/Weichenkoerper/Weichenkombinationen)
│ ├── TEF Elemente, Anbaugruppen, Verbinder, Boegen fuer Weichen
│ ├── Element bearbeiten → OMNI_EDIT
│ └── Ladeschleifen (AP110) → OMNI_LADESCHLEIFE_AP110
│ ├── Fahrstrecke / Fahrstrecken beschriften → OMNI_FAHRSTRECKE / OMNI_FAHRSTRECKE_BESCHRIFTEN
│ ├── Boegen APB110 / APB60, Aluprofil Gerade (AP60/AP110/APG110)
│ ├── Weichen (90/45/Parallel/22.5, Delta, Star)
│ ├── TEF Elemente (inkl. TEF Gerade auf Linie → TEF_FOERDERER_LINIE)
│ ├── Anbaugruppen (Stopper, Scanner, Buerstenbremse)
│ ├── Spez. Streckenelemente ▸ Tuerloesungen ▸ Schwenkschienen → OMNI_SCHW_400_*
│ ├── KettenFoerderer → KETTENFOERDERER
│ ├── Ladeschleifen → OMNI_LADESCHLEIFE_AP110
│ ├── Verbinder → OMNI_TV_*
│ ├── Boegen fuer Weichen (ausgegraut, Dummy) → OMNI_APBW_*
│ └── Element bearbeiten → OMNI_EDIT
├── Geruest
│ ├── Rohr-Geruest-Traeger → GERUEST_TRAEGER
│ ├── Saeulen / Rohrabhaenger / Wandbefestigung → GERUEST
│ └── Funktionen ▸ Traeger beschriften → GERUEST_TRAEGER_BESCHRIFTEN
│ ├── Rohr-Geruest-Traeger → GERUEST_TRAEGER
│ ├── Saeulen / Rohrabhaenger / Wandbefestigung → GERUEST_SAEULEN / GERUEST_ROHRABHAENGER / GERUEST_WANDBEFESTIGUNG
│ ├── Gattertraeger (Platzhalter) → GERUEST
│ └── Funktionen ▸ Traeger beschriften → GERUEST_TRAEGER_BESCHRIFTEN
├── SPS
│ ├── TRO (Marker einfuegen/bearbeiten) → TRO_INSERT / TRO_EDIT
│ └── Connections (einfuegen/bearbeiten, Eingang/Ausgang) → CONNECTION_INSERT / CONNECTION_EDIT / ILS_EINGANG_INSERT / ILS_AUSGANG_INSERT
│ ├── TRO (Marker einfuegen/bearbeiten) → TRO_INSERT / TRO_EDIT
│ ├── Connections (einfuegen/bearbeiten) → CONNECTION_INSERT / CONNECTION_EDIT
│ └── Eingang / Ausgang → ILS_EINGANG_INSERT / ILS_AUSGANG_INSERT
├── Export
│ ├── Export Sivas → EXPORTSIVAS
│ └── Export CSV → EXPORTCSV
│ ├── Export Sivas → EXPORTSIVAS
│ └── Export CSV → EXPORTCSV
├── Konfiguration
│ ├── Umschalten 2D und 3D → SSG_DIM_SWITCH
│ ├── Sprache → SSG_SPRACHE
│ └── Planquadrate an/aus → PLANQUADRATE_TOGGLE
│ ├── Umschalten 2D und 3D → SSG_DIM_SWITCH
│ ├── Alle Bloecke auf 2D / 3D → SSG_DIM_ALL_2D / SSG_DIM_ALL_3D
│ ├── Sprache → SSG_SPRACHE
│ ├── Planquadrate an/aus → PLANQUADRATE_TOGGLE
│ └── CSV-Export → CSV_EXPORT_KONFIG
├── Werkzeuge
│ ├── Bloecke zaehlen/loeschen, Attribute ersetzen → ssg_blocktools
│ └── Text ersetzen/parallel/Hoehe/Stil → ssg_texttools
└── Tests (Testsuiten ausfuehren und exportieren)
│ ├── Bloecke zaehlen / loeschen, Attribute ersetzen → SSG_BLOCK_COUNT / SSG_BLOCK_DELETE / SSG_ATTR_ERSETZEN
│ ├── Text ersetzen / parallel / Hoehe / Stil → SSG_TEXT_ERSETZEN / _PARALLEL / _HOEHE / _STIL
│ ├── Faehnchen + Stueckliste aus Zeichnung → SSG_FAEHNCHEN_STUECKLISTE
│ └── Din Formate → DIN_FORMATE
└── Tests (alle Testsuiten, einzelne Szenarien, Export CSV/Sivas ALL, KS 2D/3D pruefen)
```
Doppelklick auf einen Block ruft `SSG_BLOCKEDIT` auf und verzweigt nach Blockname
(Kreisel, Eckrad, VF_/GF_, KF_, Omniflo, GR_, TRO_, CONNECTION_, JAM_ → passender Edit-Befehl).
Vollstaendige, laufend aktualisierte Befehls-/Modulzuordnung: siehe `CLAUDE.md` (Abschnitt "Modulzuordnung im Menue") und `menu/SSG_LIB.mnu`.
## Lademechanismus
Module werden per Lazy-Loading ueber das Menuesystem geladen (`ssg-ensure` in `SSG_LIB.mnl`). Einmalige Einrichtung pro BricsCAD-Installation:
Die Module werden beim Laden des Menues ueber `SSG_LIB.mnl` initialisiert (`ssg-ensure`, ueberspringt bereits geladene Module; einzelne Module wie `DrawPlanquadrate`, `DinFormate`, `Tro_Edit`, `Jam_Edit` werden erst beim ersten Aufruf nachgeladen). Einmalige Einrichtung pro BricsCAD-Installation:
1. `bin/setenv.bat` ausfuehren (setzt `DXFM_LISP` u.a.)
2. BricsCAD starten
@@ -70,16 +80,18 @@ Details und die Core-Ladereihenfolge: siehe `CLAUDE.md` Abschnitt "Lademechanism
```text
dxfmakros/
├── Lisp/ # AutoLISP-Makros und Kernbibliotheken (Details: Lisp/README.md)
├── bin/ # Hilfs-Skripte (setenv.bat, start_briscad.bat)
├── bin/ # Hilfs-Skripte (setenv, start_briscad, run_tests, Python-Wrapper)
├── cfg/ # Konfigurationsdateien
├── data/ # JSON-Daten, DXF-Quellen, Block-Libraries - nicht im Git
├── data/ # JSON-Komponentendaten, DWG-/DXF-Bloecke, Block-Libraries
├── dcl/ # DCL-Dialogdefinitionen
├── doc/ # Dokumentation (doc/plan Architektur/Analysen, doc/todo offene Fahrplaene)
├── lang/ # Benutzertexte de_DE.json / en_GB.json (ssg-text)
├── lib/ # Python-Skripte (DXF-Bearbeitung, Export)
├── log/ # Logdateien - nicht im Git
├── logs/ # Logdateien und .dbg-Ausgaben (DXFM_LOG) - nicht im Git
├── menu/ # BricsCAD-Menudefinition (SSG_LIB.mnu, SSG_LIB.mnl)
├── results/ # Ergebnisse / Exporte - nicht im Git
├── tests/ # Testskripte und Referenzdaten
├── tools/ # Einmal-Werkzeuge (z.B. Migration der Sprachtexte)
├── LICENSE
├── README.md
└── requirements.txt
@@ -110,11 +122,18 @@ Headless-Unit-Tests (file- und zeichnungsfrei):
bin\run_tests.bat --lisp
```
Python-Tests (in der `.venv`):
```bat
pytest tests/
bin\run_tests.bat --check
```
Zeichnungs-/Szenario-Tests laufen interaktiv in BricsCAD ueber das Menue `Tests` bzw. `SSG_RUN_ALL_TESTS`. Details: `doc/LispTests.md`, `tests/README.md`.
## Dokumentation
Ausfuehrliche Modul- und Befehlsdokumentation: `CLAUDE.md` (Projektanweisungen) und `Lisp/README.md`. Weitere Anwender-/Entwickler-Themen direkt in `doc/` (u.a. `variofoerderer.md`, `csv-export.md`, `faq.md`, `kommandos.md`). Architektur-Analysen und Planungsdokumente in `doc/plan/` (u.a. `translate.md`, `Entwicklungsplan.md`), offene Fahrplaene/TODOs in `doc/todo/`.
Ausfuehrliche Modul- und Befehlsdokumentation: `CLAUDE.md` (Projektanweisungen) und `Lisp/README.md`. Weitere Anwender-/Entwickler-Themen direkt in `doc/` (u.a. `kommandos.md` - Uebersicht aller Befehle und Skripte, `variofoerderer.md`, `vf_linienzug_modus1_anleitung.md`, `csv-export.md`, `json-input-lisp.md`, `faq.md`). Architektur-Analysen und Planungsdokumente in `doc/plan/` (u.a. `translate.md`, `Entwicklungsplan.md`), offene Fahrplaene/TODOs in `doc/todo/`.
## Lizenz