Merge remote-tracking branch 'origin/master'

# Conflicts:
#	Lisp/Gefaellestrecke.lsp
#	Lisp/ssg_core.lsp
#	Lisp/vf_core.lsp
This commit is contained in:
2026-07-24 13:38:01 +02:00
160 changed files with 213 additions and 159 deletions
+17 -14
View File
@@ -11,20 +11,20 @@
;; ============================================================
;; TEIL 1: ABHAENGIGKEITEN
;; ============================================================
;; DXFM_DIM lesen; 2D wird auf 3D korrigiert (VF/GF benoetigen Z-Geometrie)
(setq *vf-dxfm-dim* (getenv "DXFM_DIM"))
(if (or (not (= (type *vf-dxfm-dim*) 'STR)) (= *vf-dxfm-dim* "2D"))
(setq *vf-dxfm-dim* "3D"))
;; Block-Pfad: data/ils/3D/ wenn DXFM_DIM nicht gesetzt oder 2D
;; Bloecke liegen seit dem Flach-Refactor direkt unter data/ils/ (die Dimension
;; steckt im Dateinamen bzw. Blocknamen als Suffix _2D/_3D, siehe ssg_core.lsp).
;; VF folgt der aktuellen Dimension (ssg-ils-dim-aktuell) mit 3D-Fallback; das
;; Laden erfolgt zentral ueber ensure-block-loaded/ssg-ils-block-laden.
;; modul-pfad/block-pfad dienen nur noch der Info-Ausgabe (Basisverzeichnis).
(setq modul-pfad
(cond
((and (getenv "DXFMAKRO") (= (type (getenv "DXFMAKRO")) 'STR))
(strcat (vl-string-right-trim "/" (vl-string-translate "\\" "/" (getenv "DXFMAKRO")))
"/data/ils/" *vf-dxfm-dim* "/"))
"/data/ils/"))
((and (boundp '*ssg-lisp-pfad*) (= (type *ssg-lisp-pfad*) 'STR)
(vl-string-search "/Lisp" *ssg-lisp-pfad*))
(strcat (substr *ssg-lisp-pfad* 1 (vl-string-search "/Lisp" *ssg-lisp-pfad*))
"/data/ils/" *vf-dxfm-dim* "/"))
"/data/ils/"))
(t
(princ "\n[vf_core] WARNUNG: Block-Pfad nicht ermittelbar!")
nil)
@@ -258,14 +258,17 @@
;; ============================================================
;; TEIL 5: KS_EIN/KS_AUS EXTRAKTION
;; ============================================================
(defun ensure-block-loaded (blockname / real)
;; Zentraler Loader; liefert den IN-ZEICHNUNGS-NAMEN zurueck, unter dem der
;; Block einzufuegen ist (2D/3D eindeutig), oder nil bei Fehlschlag.
(setq real (ssg-ils-block-laden blockname))
(if (null real)
(progn (princ (ssg-textf "vfc-fehler-block-datei-fehlt" (list blockname))) nil)
real
(defun ensure-block-loaded (blockname / )
;; Zentraler Loader (flache Ablage). Laedt den Block in der AKTUELLEN Dimension
;; (ssg-ils-dim-aktuell: *ssg-ils-dim*-Override -> DXFM_DIM) mit automatischem
;; 3D-Fallback, sodass 2D- und 3D-Aufbau gleichermassen funktionieren. Laedt den
;; Block unter seinem effektiven, dim-suffigierten Namen und GIBT DIESEN ZURUECK,
;; damit Aufrufer ihn zum Einfuegen (vla-InsertBlock/tblsearch) verwenden.
;; Meldung nur bei Fehlschlag.
(if (not (ssg-ils-block-laden blockname))
(princ (ssg-textf "vfc-fehler-block-datei-fehlt" (list blockname)))
)
(ssg-ils-blockname blockname)
)
(defun extract-ks-from-block-raw (block-obj / sub-entities sub-obj ks-results