Revert: bin/on_start.lsp wiederhergestellt
Die Datei wurde faelschlicherweise als unreferenziert geloescht. on_start.lsp wird von BricsCAD ueber die Startup-Suite (APPLOAD) automatisch geladen und ruft (ssg-lib-startup) auf, welches per MENULOAD die SSG_LIB.mnu laedt. Ohne diesen Ladevorgang steht das SSG_LIB-Menue in BricsCAD nicht zur Verfuegung. Grund fuer die Verwechslung: der Eintrag in der BricsCAD Startup- Suite liegt in den lokalen BricsCAD-Einstellungen (ausserhalb Git) und war daher per grep im Repository nicht auffindbar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
;; ============================================================
|
||||
;; on_start.lsp - SSG_LIB Startup fuer BricsCAD
|
||||
;; Wird beim Start von BricsCAD automatisch ausgefuehrt
|
||||
;; ============================================================
|
||||
|
||||
(defun ssg-lib-safe-load (datei / result)
|
||||
(setq result (vl-catch-all-apply 'load (list datei)))
|
||||
(if (vl-catch-all-error-p result)
|
||||
(progn
|
||||
(princ (strcat "\n[SSG_LIB] FEHLER beim Laden von " datei ":"))
|
||||
(princ (strcat "\n " (vl-catch-all-error-message result)))
|
||||
nil
|
||||
)
|
||||
t
|
||||
)
|
||||
)
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; SSG-DBG-FN - Prueft ob ein AutoLISP-Symbol gebunden ist
|
||||
;; Gibt "JA" oder "NEIN" zurueck (atoms-family, BRX-Cmds nicht pruefbar)
|
||||
;; ------------------------------------------------------------
|
||||
(defun ssg-dbg-fn (fname)
|
||||
(if (car (atoms-family 1 (list fname))) "JA" "NEIN")
|
||||
)
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; SSG-LIB-REGISTER-CHECK - Verfuegbarkeit aller Befehle ins Debug-Log schreiben
|
||||
;; ------------------------------------------------------------
|
||||
(defun ssg-lib-register-check ()
|
||||
(dbgmsg "[CHECK] --- AutoLISP Funktionen (atoms-family) ---")
|
||||
(dbgmsg (strcat "ssg-start: " (ssg-dbg-fn "SSG-START")))
|
||||
(dbgmsg (strcat "ssg-end: " (ssg-dbg-fn "SSG-END")))
|
||||
(dbgmsg (strcat "ssg-make-layer: " (ssg-dbg-fn "SSG-MAKE-LAYER")))
|
||||
(dbgmsg (strcat "ssg-errhan: " (ssg-dbg-fn "SSG-ERRHAN")))
|
||||
(dbgmsg (strcat "ensure-block-loaded: " (ssg-dbg-fn "ENSURE-BLOCK-LOADED")))
|
||||
(dbgmsg "[CHECK] --- SSG_LIB_Commands (c:...) ---")
|
||||
(dbgmsg (strcat "c:ILS_BTMT_Beladung: " (ssg-dbg-fn "C:ILS_BTMT_BELADUNG")))
|
||||
(dbgmsg (strcat "c:ILS_K90LA: " (ssg-dbg-fn "C:ILS_K90LA")))
|
||||
(dbgmsg (strcat "c:ILS_TEF_Strecke: " (ssg-dbg-fn "C:ILS_TEF_STRECKE")))
|
||||
(dbgmsg (strcat "c:KreiselInsert: " (ssg-dbg-fn "C:KREISELINSERT")))
|
||||
(dbgmsg (strcat "c:KreiselEdit: " (ssg-dbg-fn "C:KREISELEDIT")))
|
||||
(dbgmsg (strcat "c:ILS_Eckrad: " (ssg-dbg-fn "C:ILS_ECKRAD")))
|
||||
(dbgmsg (strcat "c:OMNI_AP60: " (ssg-dbg-fn "C:OMNI_AP60")))
|
||||
(dbgmsg (strcat "c:OMNI_APB_630_90: " (ssg-dbg-fn "C:OMNI_APB_630_90")))
|
||||
(dbgmsg (strcat "c:OMNI_W90_Einfach: " (ssg-dbg-fn "C:OMNI_W90_EINFACH")))
|
||||
(dbgflush)
|
||||
)
|
||||
|
||||
(defun ssg-lib-startup ( / lisp-pfad menu-pfad curr-srch menu-datei lsp-fb-pfad)
|
||||
|
||||
;; Pfade aus Umgebungsvariablen lesen
|
||||
(setq lisp-pfad (getenv "DXFM_LISP"))
|
||||
(setq menu-pfad (getenv "DXFMAKRO"))
|
||||
|
||||
;; Pfadtrenner vereinheitlichen: Backslash -> Forward-Slash
|
||||
(if lisp-pfad (setq lisp-pfad (vl-string-translate "\\" "/" lisp-pfad)))
|
||||
(if menu-pfad (setq menu-pfad (vl-string-translate "\\" "/" menu-pfad)))
|
||||
|
||||
(if (null lisp-pfad)
|
||||
(progn
|
||||
(princ "\n[SSG_LIB] FEHLER: DXFM_LISP nicht gesetzt!")
|
||||
(princ "\n[SSG_LIB] Bitte zuerst bin\\setenv.bat ausfuehren.")
|
||||
)
|
||||
(progn
|
||||
;; Debug-Logging so frueh wie moeglich starten
|
||||
(if (findfile (strcat lisp-pfad "/ssg_dbg.lsp"))
|
||||
(progn
|
||||
(load (strcat lisp-pfad "/ssg_dbg.lsp"))
|
||||
(dbgopen "debugfile.dbg" "DXFM_LOG")
|
||||
(dbgmsg "[on_start] Startup begonnen")
|
||||
(dbgmsg (strcat "[on_start] DXFM_LISP=" lisp-pfad))
|
||||
(dbgmsg (strcat "[on_start] DXFMAKRO=" (if menu-pfad menu-pfad "nicht gesetzt")))
|
||||
(dbgflush)
|
||||
)
|
||||
)
|
||||
|
||||
(princ "\n[SSG_LIB] Lade SSG_LIB Umgebung...")
|
||||
|
||||
;; Library laden (direkt, damit Fehler sichtbar sind)
|
||||
;; Kein SRCHPATH-Aendern noetig - alle Dateien werden ueber
|
||||
;; absolute Pfade (Umgebungsvariablen) geladen
|
||||
(if (findfile (strcat lisp-pfad "/ssg_load.lsp"))
|
||||
(progn
|
||||
(load (strcat lisp-pfad "/ssg_load.lsp"))
|
||||
(princ "\n[SSG_LIB] ssg_load.lsp geladen.")
|
||||
)
|
||||
(princ "\n[SSG_LIB] WARNUNG: ssg_load.lsp nicht gefunden!")
|
||||
)
|
||||
|
||||
;; Menue laden
|
||||
(if menu-pfad
|
||||
(progn
|
||||
(setq menu-datei (strcat menu-pfad "/menu/SSG_LIB.mnu"))
|
||||
(if (findfile menu-datei)
|
||||
(progn
|
||||
(command "_.MENULOAD" menu-datei)
|
||||
(menucmd "P13=+SSG_LIB.POP1")
|
||||
(princ "\n[SSG_LIB] Menue SSG_LIB geladen und eingebunden.")
|
||||
)
|
||||
(princ (strcat "\n[SSG_LIB] WARNUNG: " menu-datei " nicht gefunden!"))
|
||||
)
|
||||
)
|
||||
(princ "\n[SSG_LIB] WARNUNG: DXFMAKRO nicht gesetzt, Menue nicht geladen!")
|
||||
)
|
||||
|
||||
;; DBLCLKEDIT=1: Doppelklick aktiv, ***DOUBLECLICK-Eintraege steuern Block-Verhalten
|
||||
(setvar "DBLCLKEDIT" 1)
|
||||
|
||||
(dbgflush)
|
||||
|
||||
(ssg-lib-register-check)
|
||||
|
||||
(princ "\n[SSG_LIB] Startup abgeschlossen.")
|
||||
)
|
||||
)
|
||||
(princ)
|
||||
)
|
||||
|
||||
;; Startup ausfuehren
|
||||
(ssg-lib-startup)
|
||||
Reference in New Issue
Block a user