Startup-Alert bei VarioFoerderer entfernt. Alle verwendete Blöcke in VarioFoerderer.lsp und Gefaellestrecke.lsp sind aus data/ils/3D/ - DXFM_BLOCKS.

This commit is contained in:
2026-06-25 14:30:03 +02:00
parent b0aeb04022
commit db0d9abb7a
8 changed files with 214 additions and 153 deletions
+62 -52
View File
@@ -11,24 +11,44 @@
;; ============================================================
;; TEIL 1: ABHAENGIGKEITEN
;; ============================================================
(if (getenv "DXFM_BLOCKS")
(setq modul-pfad (strcat (getenv "DXFM_BLOCKS") "/"))
(progn
(alert "Umgebungsvariable DXFM_BLOCKS nicht gesetzt!\nBitte zuerst bin\\setenv.bat ausfuehren.")
(exit)
;; Block-Pfad: 1) DXFM_BLOCKS, 2) aus *ssg-lisp-pfad* ableiten
(setq modul-pfad
(cond
((getenv "DXFM_BLOCKS")
(strcat (vl-string-translate "\\" "/" (getenv "DXFM_BLOCKS")) "/"))
((and (boundp '*ssg-lisp-pfad*) *ssg-lisp-pfad*
(vl-string-search "/Lisp" *ssg-lisp-pfad*))
(strcat (substr *ssg-lisp-pfad* 1 (vl-string-search "/Lisp" *ssg-lisp-pfad*))
"/data/ils/"
(if (getenv "DXFM_DIM") (getenv "DXFM_DIM") "2D")
"/"))
(t
(princ "\n[vf_core] WARNUNG: DXFM_BLOCKS nicht gesetzt - Block-Pfad unbekannt!")
nil)
)
)
(setq block-pfad modul-pfad)
;; ssg_core laden falls noch nicht geschehen: 1) DXFM_LISP, 2) *ssg-lisp-pfad*
(if (not *ssg-core-loaded*)
(if (getenv "DXFM_LISP")
(progn
(load (strcat (getenv "DXFM_LISP") "/ssg_core.lsp"))
(ssg-load-config)
(setq *ssg-core-loaded* t)
(progn
(setq *vf-core-lisp-pfad*
(cond
((getenv "DXFM_LISP")
(vl-string-translate "\\" "/" (getenv "DXFM_LISP")))
((and (boundp '*ssg-lisp-pfad*) *ssg-lisp-pfad*)
*ssg-lisp-pfad*)
(t nil)
)
)
(if *vf-core-lisp-pfad*
(progn
(load (strcat *vf-core-lisp-pfad* "/ssg_core.lsp"))
(ssg-load-config)
(setq *ssg-core-loaded* t)
)
(princ "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - ssg_core konnte nicht geladen werden!")
)
(alert "DXFM_LISP nicht gesetzt! Bitte zuerst bin\\setenv.bat ausfuehren.")
)
)
@@ -136,42 +156,20 @@
;; ============================================================
;; TEIL 5: KS_EIN/KS_AUS EXTRAKTION
;; ============================================================
(defun ensure-block-loaded (blockname / lib-datei block-datei temp-obj)
(defun ensure-block-loaded (blockname / block-datei temp-obj)
(if (not (tblsearch "BLOCK" blockname))
(progn
(if *library-loaded* (setq *library-loaded* nil))
(if (not *library-loaded*)
(setq block-datei (strcat block-pfad blockname ".dwg"))
(if (findfile block-datei)
(progn
(setq lib-datei
(strcat (vl-string-translate "\\" "/" (getenv "DXFM_DATA"))
"/block_libraries/ils_library.dxf"))
(if (findfile lib-datei)
(progn
(princ "\n Lade ils_library.dxf ...")
(setq temp-obj (vla-InsertBlock modelspace
(vlax-3D-point '(0 0 0))
lib-datei 1.0 1.0 1.0 0))
(vla-Delete temp-obj)
(setq *library-loaded* T)
(princ " OK")
)
(princ (strcat "\n WARNUNG: Bibliothek nicht gefunden: " lib-datei))
)
)
)
(if (not (tblsearch "BLOCK" blockname))
(progn
(setq block-datei (strcat block-pfad blockname ".dxf"))
(if (findfile block-datei)
(progn
(setq temp-obj (vla-InsertBlock modelspace
(vlax-3D-point '(0 0 0))
block-datei 1.0 1.0 1.0 0))
(vla-Delete temp-obj)
)
(princ (strcat "\n FEHLER: Block nicht gefunden: " blockname))
)
(princ (strcat "\n Lade Block: " blockname " ..."))
(setq temp-obj (vla-InsertBlock modelspace
(vlax-3D-point '(0 0 0))
block-datei 1.0 1.0 1.0 0))
(vla-Delete temp-obj)
(princ " OK")
)
(princ (strcat "\n FEHLER: Block-Datei nicht gefunden: " block-datei))
)
)
)
@@ -652,13 +650,25 @@
;; ============================================================
;; Guard: Untermodule nur beim ersten Laden von vf_core.lsp ausfuehren.
(if (not *ssg-vf-submodule-loaded*)
(if (getenv "DXFM_LISP")
(progn
(load (strcat (getenv "DXFM_LISP") "/vf_standard.lsp"))
(load (strcat (getenv "DXFM_LISP") "/vf_etage.lsp"))
(setq *ssg-vf-submodule-loaded* t)
(progn
;; Lisp-Pfad ermitteln: 1) DXFM_LISP, 2) *ssg-lisp-pfad* (vom MNL gesetzt)
(setq *vf-lisp-pfad*
(cond
((getenv "DXFM_LISP")
(vl-string-translate "\\" "/" (getenv "DXFM_LISP")))
((and (boundp '*ssg-lisp-pfad*) *ssg-lisp-pfad*)
*ssg-lisp-pfad*)
(t nil)
)
)
(if *vf-lisp-pfad*
(progn
(load (strcat *vf-lisp-pfad* "/vf_standard.lsp"))
(load (strcat *vf-lisp-pfad* "/vf_etage.lsp"))
(setq *ssg-vf-submodule-loaded* t)
)
(princ "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!")
)
(alert "DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!")
)
)
@@ -867,9 +877,9 @@
;; ============================================================
;; START & ALIASES
;; ============================================================
(defun c:FOERDERANLAGE () (c:VarioFoerderer))
(defun c:Foerderanlage () (c:VarioFoerderer))
(defun c:ETAGEVARIOFOERDERER ()
(defun c:EtageVarioFoerderer ()
(setq *vf-vorauswahl-typ* "etage")
(c:VarioFoerderer)
)