fix: SSG_DIM_SWITCH nil-sicher machen und Startmodus in Konsole anzeigen,fix: DXFM_DIM beim MNL-Start immer auf 3D zuruecksetzen (BricsCAD-Registry-Override),Menue neu Laden nötig

This commit is contained in:
2026-07-30 11:04:16 +02:00
parent 1374f67f1c
commit 6e28045e36
2 changed files with 30 additions and 2 deletions
+9 -2
View File
@@ -183,8 +183,15 @@
;; Setzt DXFM_DIM, DXFM_BLOCKS und DXFM_OMNIFLO neu
;; ============================================================
(defun c:SSG_DIM_SWITCH ( / dim-neu basis)
(setq dim-neu (if (equal (strcase (getenv "DXFM_DIM")) "3D") "2D" "3D"))
(defun c:SSG_DIM_SWITCH ( / dim-global dim-neu basis)
;; Globalen Modus lesen: NUR DXFM_DIM + Fallback "3D".
;; Bewusst KEIN *ssg-ils-dim* - das ist ein transienter GUI-Override
;; pro Einfuegevorgang und soll den globalen Schalter nicht beeinflussen.
(setq dim-global
(cond
((= (type (getenv "DXFM_DIM")) 'STR) (strcase (getenv "DXFM_DIM")))
(t "3D")))
(setq dim-neu (if (equal dim-global "3D") "2D" "3D"))
(setq basis (getenv "DXFMAKRO"))
(setenv "DXFM_DIM" dim-neu)
;; ILS-Bloecke liegen flach unter data\ils (Dimension im Dateinamen) - kein
+21
View File
@@ -166,7 +166,28 @@
(menucmd "P13=+SSG_LIB.POP1")
(setvar "DBLCLKEDIT" 1)
(princ "\n[SSG_LIB] Alle Module geladen. Menue aktiv.")
;; Beim Start immer auf globalen Default 3D zuruecksetzen.
;; Hintergrund: AutoLISP-setenv schreibt in die BricsCAD-Profilregistry.
;; Ohne diesen Reset wuerde ein alter SSG_DIM_SWITCH-Wert aus der Vorsitzung
;; ueber setenv.bat gewinnen - unabhaengig davon, wie BricsCAD gestartet wurde.
(setenv "DXFM_DIM" "3D")
(princ (strcat "\n[SSG_LIB] Einfuege-Modus: 3D"
" (Umschalten global: SSG_DIM_SWITCH im Menue)"))
)
(princ "\n[SSG_LIB] WARNUNG: DXFM_LISP nicht gesetzt - Befehle nicht verfuegbar.")
)
;; S:STARTUP: wird von BricsCAD nach vollstaendiger Dokument-Initialisierung
;; aufgerufen - also NACH allen anderen Lade-Meldungen und Duplikaten.
;; defun-q haengt an eine bestehende S:STARTUP-Definition an (kein Ueberschreiben).
(defun-q S:STARTUP ()
(if (car (atoms-family 1 '("SSG-ILS-DIM-AKTUELL")))
(progn
(princ (strcat "\n[SSG_LIB] Einfuege-Modus: " (ssg-ils-dim-aktuell)
" (Umschalten global: SSG_DIM_SWITCH im Menue)"))
(princ)
)
)
)
(princ)