Allgmeine PRojektbeschreibung für Claude dazu
This commit is contained in:
@@ -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.
|
||||
Binary file not shown.
Reference in New Issue
Block a user