diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..96cccfa --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,65 @@ + +# dxfmakros - Projektanweisungen + +## Projektbeschreibung + +AutoLISP-Makros (SSG_LIB) fuer BricsCAD Pro zur automatisierten Erstellung von Foerderanlagen-Layouts (ILS Kreisel, Omniflo, Variofoerderer, Geruest). Ziel ist der Ersatz proprietaerer Tools (Bihler Omniflo, Bihler Geruest, Ruledesigner) durch eigene parametrische Makros. + +## Technologie-Stack + +- **CAD-System**: BricsCAD Pro (AutoCAD-kompatibel) +- **Hauptsprache**: AutoLISP (.lsp) +- **Hilfssprache**: Python (Export-Skripte in `lib/`) +- **Datenformate**: DXF/DWG (Bloecke), JSON (Komponentendaten), CSV (Export) +- **Dialoge**: DCL (Dialog Control Language, in `dcl/`) +- **Menu**: BricsCAD .mnu Format (in `menu/`) + +## Projektstruktur + +| Verzeichnis | Inhalt | +|---|---| +| `Blocks/` | DWG-Bloecke (Vertikalboegen, Stationen, etc.) | +| `Lisp/` | AutoLISP-Makros und Kernbibliotheken | +| `bin/` | Hilfs-Skripte (setenv, on_start.lsp) | +| `cfg/` | Konfigurationsdateien | +| `data/` | JSON-Daten, DXF-Quellen, Block-Libraries | +| `dcl/` | DCL-Dialogdefinitionen | +| `doc/` | Dokumentation, Entwicklungsplan | +| `lib/` | Python-Skripte (CSV/Sivas-Export) | +| `menu/` | BricsCAD-Menudefinition (SSG_LIB.mnu) | +| `tests/` | Testskripte und Referenzdaten | + +## Ladereihenfolge (wichtig) + +`on_start.lsp` -> `ssg_load.lsp` -> Bibliotheken in Reihenfolge: +1. `ssg_core.lsp` (Kernel: Umgebung, Layer, Block-Ops, Attribute, Fehlerbehandlung) +2. `ssg_dbg.lsp` (Debug-Logging) +3. `ssg_dialog.lsp` (DCL-Dialog-Vorlagen) +4. `ssg_layer.lsp` (Layer-Verwaltung) +5. `KreiselInsert.lsp` (ILS Kreisel/Eckrad) +6. `VarioFoerderer.lsp` (Vario-Foerderanlagen) +7. `tests.lsp` (Python-Integration, Export) +8. `OmniModulInsert.lsp` (Omniflo-Komponenten) +9. `SSG_LIB_Commands.lsp` (Menu-Command-Definitionen) + +## Umgebungsvariablen + +Werden via `bin/setenv.bat` gesetzt. Wichtigste: +- `DXFMAKRO` - Projektwurzel +- `DXFM_LISP` - Pfad zu Lisp-Dateien +- `DXFM_BLOCKS` - Pfad zu DWG-Bloecken +- `DXFM_DATA` - Datenverzeichnis (JSON, DXF) +- `DXFM_LOG` - Log-Verzeichnis + +## Konventionen + +- AutoLISP-Funktionsnamen: `ssg-*` fuer Kernfunktionen, `C:BEFEHLSNAME` fuer User-Commands +- Alle Texte in Dateien ohne Umlaute (ae, oe, ue statt ae, oe, ue) +- Bloecke werden als DWG in `Blocks/` abgelegt, Block-Libraries als DXF in `data/block_libraries/` +- Komponentendaten (Masse, Sivas-IDs) liegen als JSON in `data/json/` +- Sprache im Code und Kommentaren: Deutsch + +## Entwicklungsstand + +Siehe `doc/Entwicklungsplan.md` fuer Meilensteinplanung und Aufwandsschaetzung. +Fertig (DONE): ILS Kreisel, ILS Eckrad, ILS Variofoerderer, Omniflo Boegen, Omniflo Weichen. diff --git a/data/block_libraries/ils_vario_koordinaten.dwg b/data/block_libraries/ils_vario_koordinaten.dwg deleted file mode 100644 index 7bd9f9c..0000000 Binary files a/data/block_libraries/ils_vario_koordinaten.dwg and /dev/null differ