Bugfix zur Feststellung der Koordinatensysteme von AS und ES

This commit is contained in:
2026-09-07 12:37:34 +02:00
parent 9670173d4b
commit cbea9ccecc
+9 -2
View File
@@ -1122,7 +1122,11 @@
(setq blk-tbl (tblsearch "BLOCK" bname)) (setq blk-tbl (tblsearch "BLOCK" bname))
(if blk-tbl (if blk-tbl
(progn (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 (while sub-ent
(setq sub-ed (entget sub-ent)) (setq sub-ed (entget sub-ent))
(if (= (cdr (assoc 0 sub-ed)) "INSERT") (if (= (cdr (assoc 0 sub-ed)) "INSERT")
@@ -1152,7 +1156,10 @@
;; Volle 3D-Orientierung dieses Sub-INSERTs in Weltkoordinaten. ;; Volle 3D-Orientierung dieses Sub-INSERTs in Weltkoordinaten.
(setq R-local (mat3-from-normal-rotation extrusion rot)) (setq R-local (mat3-from-normal-rotation extrusion rot))
(setq R-world (mat3-mul-mat3 basis-R R-local)) (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 (setq result (cons (list sub-ent world-pt R-world
(* bsx sx) (* bsy sy) (* bsz sz)) (* bsx sx) (* bsy sy) (* bsz sz))
result)) result))