cc301b318e
data/json/component_defaults.json: Neue zentrale Konfigurationsdatei
mit Standardwerten fuer alle Komponenten (kreisel, eckrad, omniflo,
vario, gefaelle, infrastruktur). Bisher waren Konstanten (Masse,
Farben, Toleranzen, Defaults) hart im LISP-Code eingebettet.
Lisp/ssg_core.lsp: JSON-Parser und Config-Zugriff hinzugefuegt:
- ssg-read-file-lines: Datei zeilenweise einlesen
- ssg-cfg-trim, ssg-cfg-split-comma: String-Hilfsfunktionen
- ssg-cfg-parse-value, ssg-cfg-parse-array: JSON-Wert-Parser
(unterstuetzt String, Zahl, Boolean, Array, null)
- ssg-cfg-parse-section: JSON-Sektion zu Assoziationsliste parsen
- ssg-load-config: Laedt component_defaults.json in *ssg-config*
- ssg-cfg: Wert aus *ssg-config* lesen, nil wenn nicht vorhanden
- ssg-cfg-or: Wert aus Config lesen mit Fallback-Default
Lisp/ssg_load.lsp: (ssg-load-config) wird direkt nach dem Laden von
ssg_core.lsp aufgerufen, sodass die Config beim Laden aller weiteren
Module bereits verfuegbar ist.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
1.8 KiB
Common Lisp
39 lines
1.8 KiB
Common Lisp
;; ============================================================
|
|
;; SSG_LOAD.LSP - Laderoutine fuer die SSG-Standardbibliotheken
|
|
;;
|
|
;; Laedt alle SSG-Kernbibliotheken in der richtigen Reihenfolge.
|
|
;; In acad.lsp oder manuell aufrufen:
|
|
;; (load "pfad/ssg_load.lsp")
|
|
;;
|
|
;; Alternativ nur einzelne Bibliotheken laden:
|
|
;; (load "pfad/ssg_core.lsp")
|
|
;; (load "pfad/ssg_layer.lsp")
|
|
;; (load "pfad/ssg_dialog.lsp")
|
|
;; ============================================================
|
|
|
|
(defun ssg-load-libs (/ base-path)
|
|
;; Pfad dieser Datei als Basis verwenden (AutoCAD 2000+)
|
|
(setq base-path
|
|
(if (findfile "ssg_core.lsp")
|
|
(substr (findfile "ssg_core.lsp") 1
|
|
(- (strlen (findfile "ssg_core.lsp")) (strlen "ssg_core.lsp")))
|
|
(strcat (getvar "DWGPREFIX"))
|
|
)
|
|
)
|
|
(load (strcat base-path "ssg_core.lsp") "ssg_core.lsp nicht gefunden")
|
|
(ssg-load-config)
|
|
(load (strcat base-path "ssg_dialog.lsp") "ssg_dialog.lsp nicht gefunden")
|
|
(load (strcat base-path "ssg_layer.lsp") "ssg_layer.lsp nicht gefunden")
|
|
;; KreiselInsert.lsp entfernt - ersetzt durch Python/PyRx (lib/elemente/kreisel.py, eckrad.py)
|
|
(load (strcat base-path "VarioFoerderer.lsp") "VarioFoerderer.lsp nicht gefunden")
|
|
(load (strcat base-path "Gefaellestrecke.lsp") "Gefaellestrecke.lsp nicht gefunden")
|
|
(load (strcat base-path "export.lsp") "export.lsp nicht gefunden")
|
|
(load (strcat base-path "tests.lsp") "tests.lsp nicht gefunden")
|
|
;; OmniModulInsert.lsp entfernt - ersetzt durch Python/PyRx (lib/elemente/omniflo*.py)
|
|
(load (strcat base-path "SSG_LIB_Commands.lsp") "SSG_LIB_Commands.lsp nicht gefunden")
|
|
(prompt "\nSSG-Bibliotheken geladen: ssg_core, ssg_dbg, ssg_dialog, ssg_layer, VarioFoerderer, Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(ssg-load-libs)
|