bin/on_start.lsp geloescht + Dokumentation aktualisiert
on_start.lsp entfernt: Das Menue wird einmalig manuell per BricsCAD-Befehl _MENULOAD eingerichtet. BricsCAD speichert die Menuregistrierung dauerhaft. Ein externes Startup-Skript ist nicht mehr noetig. Dokumentation aktualisiert: CLAUDE.md: Lademechanismus neu beschrieben mit _MENULOAD-Anleitung, Legacy-Liste bereinigt (on_start.lsp als entfernt eingetragen) Lisp/README.md: Ladereihenfolge durch Menueeinrichtungs-Anleitung ersetzt; ssg_load.lsp als Notfall-Alternative dokumentiert doc/LispTests.md: Verweis auf ssg_load.lsp und on_start bereinigt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ AutoLISP-Makros (SSG_LIB) fuer BricsCAD Pro zur automatisierten Erstellung von F
|
||||
| Verzeichnis | Inhalt |
|
||||
|---|---|
|
||||
| `Lisp/` | AutoLISP-Makros und Kernbibliotheken |
|
||||
| `bin/` | Hilfs-Skripte (setenv.bat, start_briscad.bat, on_start.lsp) |
|
||||
| `bin/` | Hilfs-Skripte (setenv.bat, start_briscad.bat) |
|
||||
| `cfg/` | Konfigurationsdateien |
|
||||
| `data/` | JSON-Daten, DXF-Quellen, Block-Libraries |
|
||||
| `data/ils/` | DWG-Bloecke fuer ILS-Kreisel/Eckrad (AN8, SP8, AP-Typen) |
|
||||
@@ -33,20 +33,33 @@ AutoLISP-Makros (SSG_LIB) fuer BricsCAD Pro zur automatisierten Erstellung von F
|
||||
|
||||
## Lademechanismus (Lazy Loading via MNL)
|
||||
|
||||
Das Laden der LISP-Module erfolgt **nicht** ueber Startup-Skripte, sondern ueber das Menuesystem:
|
||||
Das Laden der LISP-Module erfolgt ueber das Menuesystem. Voraussetzung ist, dass das
|
||||
Menue einmalig in BricsCAD geladen wurde (siehe unten: "Menue einrichten").
|
||||
|
||||
1. Die Menuedatei `SSG_LIB.mnu` wird beim BricsCAD-Start als CUI geladen (einmalig via `_MENULOAD`)
|
||||
2. BricsCAD laedt automatisch `SSG_LIB.mnl` (gleichnamige MNL-Datei) mit dem Menue
|
||||
3. Die MNL definiert `ssg-ensure` (Lazy-Loader) und setzt `DBLCLKEDIT=0`
|
||||
4. Beim ersten Menueklick laedt `ssg-ensure` automatisch die benoetigten Module:
|
||||
- Zuerst die **Kern-Module**: `ssg_core` → `ssg_dbg` → `ssg_dialog` → `ssg_layer`
|
||||
- Dann das angeforderte **Feature-Modul** (z.B. `KreiselInsert`, `OmniModulInsert`)
|
||||
5. Bereits geladene Module werden uebersprungen (Flag-Variable `*ssg-<modul>-loaded*`)
|
||||
1. BricsCAD laedt beim Start automatisch `SSG_LIB.mnl` (gleichnamige MNL-Datei zum Menue)
|
||||
2. Die MNL laedt alle Kern- und Feature-Module direkt per `ssg-ensure`
|
||||
3. `ssg-ensure` ueberspringt bereits geladene Module (Flag `*ssg-<modul>-loaded*`)
|
||||
|
||||
### Menue einrichten (einmalig pro BricsCAD-Installation)
|
||||
|
||||
1. `bin/setenv.bat` ausfuehren (setzt `DXFM_LISP`, `DXFMAKRO` u.a.)
|
||||
2. BricsCAD starten
|
||||
3. In der BricsCAD-Kommandozeile: `_MENULOAD` eingeben
|
||||
4. Im Dialog: `menu/SSG_LIB.mnu` auswaehlen und laden
|
||||
5. BricsCAD laedt automatisch `SSG_LIB.mnl` mit – alle Module werden initialisiert
|
||||
|
||||
Alternativ per LISP-Kommandozeile in BricsCAD:
|
||||
```lisp
|
||||
(command "_.MENULOAD" "C:/10-Develop/gitrepos/dxfmakros/menu/SSG_LIB.mnu")
|
||||
```
|
||||
|
||||
Das Menue bleibt dauerhaft registriert. Nach einem Update der `.mnu`-Datei
|
||||
genuegt es, BricsCAD neu zu starten oder `_MENULOAD` erneut aufzurufen.
|
||||
|
||||
### Voraussetzung
|
||||
|
||||
Umgebungsvariable `DXFM_LISP` muss gesetzt sein (via `bin/setenv.bat`).
|
||||
Die `start_briscad.bat` ruft `setenv.bat` auf und startet BricsCAD ohne `/s` oder `/p`.
|
||||
Die `start_briscad.bat` ruft `setenv.bat` auf und startet BricsCAD.
|
||||
|
||||
### Modulzuordnung im Menue
|
||||
|
||||
@@ -60,12 +73,11 @@ Die `start_briscad.bat` ruft `setenv.bat` auf und startet BricsCAD ohne `/s` ode
|
||||
| Export | `export` | EXPORTSIVAS, EXPORTCSV, CALLPYTHON |
|
||||
| Doppelklick/Kontextmenue | `SSG_LIB_Commands` | SSG_BLOCKEDIT |
|
||||
|
||||
### Legacy-Dateien (nicht mehr verwendet)
|
||||
### Entfernte Legacy-Dateien
|
||||
|
||||
- `bin/startup.scr` - Entfernt (war fuer `/s` Parameter)
|
||||
- `bin/acaddoc.lsp` - Entfernt (war fuer ACAD-Pfad-basiertes Laden)
|
||||
- `bin/on_start.lsp` - Nicht mehr fuer Lazy-Loading noetig, kann fuer manuelles Laden aller Module verwendet werden
|
||||
- `Lisp/ssg_load.lsp` - Laedt alle Module auf einmal (Alternative zum Lazy-Loading)
|
||||
- `bin/on_start.lsp` - Entfernt; Menue wird jetzt manuell per `_MENULOAD` eingerichtet
|
||||
|
||||
Detaillierte Dokumentation aller Funktionen und Befehle: siehe `Lisp/README.md`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user