From cbea9ccecc49ef520e8fdd1eee9726c0f682a2bd Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Mon, 7 Sep 2026 12:37:34 +0200 Subject: [PATCH] Bugfix zur Feststellung der Koordinatensysteme von AS und ES --- Lisp/ssg_core.lsp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lisp/ssg_core.lsp b/Lisp/ssg_core.lsp index 28746c3..b69d061 100644 --- a/Lisp/ssg_core.lsp +++ b/Lisp/ssg_core.lsp @@ -1122,7 +1122,11 @@ (setq blk-tbl (tblsearch "BLOCK" bname)) (if blk-tbl (progn - (setq sub-ent (entnext (cdr (assoc -2 blk-tbl)))) + ;; (assoc -2) ist bereits das ERSTE Entity der Blockdefinition, NICHT der + ;; BLOCK-Header - direkt hier starten. Ein (entnext ...) davor uebersprang + ;; das erste Entity: stand dort ein gesuchter Sub-Block (z.B. das AS-Element + ;; als erstes INSERT in VF_n), fehlte er im Ergebnis (K1/AS-KS-Verlust). + (setq sub-ent (cdr (assoc -2 blk-tbl))) (while sub-ent (setq sub-ed (entget sub-ent)) (if (= (cdr (assoc 0 sub-ed)) "INSERT") @@ -1152,7 +1156,10 @@ ;; Volle 3D-Orientierung dieses Sub-INSERTs in Weltkoordinaten. (setq R-local (mat3-from-normal-rotation extrusion rot)) (setq R-world (mat3-mul-mat3 basis-R R-local)) - (if (wcmatch sub-bname pattern) + ;; wcmatch ist case-sensitiv - Blockname UND Muster gross vergleichen, + ;; damit "AS_ELEMENT*" auch "AS_Element_90_rechts_3D" trifft (Aufrufer + ;; wie csv:vfgf-ks-loc uebergeben das Muster in Grossschreibung). + (if (wcmatch (strcase sub-bname) (strcase pattern)) (setq result (cons (list sub-ent world-pt R-world (* bsx sx) (* bsy sy) (* bsz sz)) result))