;; ============================================================ ;; 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!") ) ;; OmnifloModulInsert laden (if (findfile (strcat lisp-pfad "/OmnifloModulInsert.lsp")) (if (ssg-lib-safe-load (strcat lisp-pfad "/OmnifloModulInsert.lsp")) (princ "\n[SSG_LIB] OmnifloModulInsert.lsp geladen.") ) (princ "\n[SSG_LIB] WARNUNG: OmnifloModulInsert.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!") ) (princ "\n[SSG_LIB] Startup abgeschlossen.") ) ) (princ) ) ;; Startup ausfuehren (ssg-lib-startup)