84 lines
2.6 KiB
Common Lisp
84 lines
2.6 KiB
Common Lisp
;; ============================================================
|
|
;; 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
|
|
)
|
|
)
|
|
|
|
(defun ssg-lib-startup ( / lisp-pfad menu-pfad curr-srch menu-datei)
|
|
|
|
;; Pfade aus Umgebungsvariablen lesen
|
|
(setq lisp-pfad (getenv "DXFM_LISP"))
|
|
(setq menu-pfad (getenv "DXFMAKRO"))
|
|
|
|
(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
|
|
(princ "\n[SSG_LIB] Lade SSG_LIB Umgebung...")
|
|
|
|
;; LISP-Pfad zum BricsCAD-Suchpfad hinzufuegen
|
|
(setq curr-srch (getvar "SRCHPATH"))
|
|
(if (and curr-srch (not (vl-string-search lisp-pfad curr-srch)))
|
|
(setvar "SRCHPATH" (strcat curr-srch ";" lisp-pfad))
|
|
)
|
|
|
|
;; Dummy-Befehle laden
|
|
(if (findfile (strcat lisp-pfad "/SSG_LIB_Commands.lsp"))
|
|
(if (ssg-lib-safe-load (strcat lisp-pfad "/SSG_LIB_Commands.lsp"))
|
|
(princ "\n[SSG_LIB] SSG_LIB_Commands.lsp geladen.")
|
|
)
|
|
(princ "\n[SSG_LIB] WARNUNG: SSG_LIB_Commands.lsp nicht gefunden!")
|
|
)
|
|
|
|
;; VarioFoerderer laden
|
|
(if (findfile (strcat lisp-pfad "/VarioFoerderer.lsp"))
|
|
(if (ssg-lib-safe-load (strcat lisp-pfad "/VarioFoerderer.lsp"))
|
|
(princ "\n[SSG_LIB] VarioFoerderer.lsp geladen.")
|
|
)
|
|
(princ "\n[SSG_LIB] WARNUNG: VarioFoerderer.lsp nicht gefunden!")
|
|
)
|
|
|
|
;; ILSModulInsert laden
|
|
(if (findfile (strcat lisp-pfad "/ILSModulInsert.lsp"))
|
|
(if (ssg-lib-safe-load (strcat lisp-pfad "/ILSModulInsert.lsp"))
|
|
(princ "\n[SSG_LIB] ILSModulInsert.lsp geladen.")
|
|
)
|
|
(princ "\n[SSG_LIB] WARNUNG: ILSModulInsert.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)
|
|
(princ "\n[SSG_LIB] Menue SSG_LIB.mnu geladen.")
|
|
)
|
|
(princ (strcat "\n[SSG_LIB] WARNUNG: " menu-datei " nicht gefunden!"))
|
|
)
|
|
)
|
|
)
|
|
|
|
(princ "\n[SSG_LIB] Startup abgeschlossen.")
|
|
)
|
|
)
|
|
(princ)
|
|
)
|
|
|
|
;; Startup ausfuehren
|
|
(ssg-lib-startup)
|