;; ============================================================ ;; 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)) ) ;; Library laden (direkt, damit Fehler sichtbar sind) (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 deaktivieren (Block-Editor nicht bei Doppelklick oeffnen) (setvar "DBLCLKEDIT" 0) ;; Python-Module laden (PyRx) (if menu-pfad (foreach pymod '("eckrad" "kreisel" "dblclick" "omniflo" "omniflo_boegen" "omniflo_weichen") (if (findfile (strcat menu-pfad "/lib/elemente/" pymod ".py")) (progn (command "PYLOAD" (strcat menu-pfad "/lib/elemente/" pymod ".py")) (princ (strcat "\n[SSG_LIB] Python-Modul " pymod ".py geladen.")) ) (princ (strcat "\n[SSG_LIB] HINWEIS: " pymod ".py nicht gefunden.")) ) ) ) (princ "\n[SSG_LIB] Startup abgeschlossen.") ) ) (princ) ) ;; Startup ausfuehren (ssg-lib-startup)