export_csv: Separator-TYP (VF/GF) bauzeitig je Separator statt vom Wrapper-Blocknamen ableiten
csv:wrapper-strecke-typ (voriger Ansatz) las den Streckentyp aus dem VF_n/GF_n-Wrapper-Blocknamen - falsch, weil ein einzelner Wrapper intern mehrfach zwischen Foerderer- und Gefaellestrecke-Abschnitten wechseln kann (HundM05 VF_1: 4 Separatoren, 2x VF, 2x GF). Jede Separator-Einfuegestelle in vf_linienzug.lsp/Gefaellestrecke.lsp/vf_standard.lsp/vf_etage.lsp markiert das frisch eingefuegte Staustrecke_Separator_SP_300_mm-Insert jetzt direkt per XDATA (ssg-sep-typ-xdata-schreiben/-lesen, ssg_ks_insert.lsp). Der Export liest den Marker am verpackten Original (nested-ent), nicht mehr am Wrapper. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
c95a94c175
commit
2f56729308
@@ -610,6 +610,38 @@
|
||||
ent
|
||||
)
|
||||
|
||||
;; --- Streckentyp (VF/GF) EINES Separator-Inserts als XDATA vermerken ---
|
||||
;; App "SSG_SEP_TYP", einzelne 1000-Gruppe = "VF"/"GF". Anders als die
|
||||
;; Sepliste (EIN Eintrag je Wrapper, alle Separatoren zusammengefasst) sitzt
|
||||
;; dieser Marker DIREKT am einzelnen Staustrecke_Separator_SP_300_mm-Insert -
|
||||
;; noetig, weil ein einzelner VF_n/GF_n-Wrapper intern mehrfach zwischen
|
||||
;; Foerderer- und Gefaellestrecke-Abschnitten wechseln kann (siehe
|
||||
;; lib/dump_vf_kette_inhalt.py: HundM05 VF_1 hat 4 Separatoren, 2x VF, 2x GF).
|
||||
;; Der Wrapper-Blockname (VF_n/GF_n) sagt darueber nichts aus und darf dafuer
|
||||
;; NICHT herangezogen werden (fruehere Fehlannahme). Aufrufer: die
|
||||
;; Separator-Einfuegestellen in vf_linienzug.lsp/Gefaellestrecke.lsp/
|
||||
;; vf_standard.lsp/vf_etage.lsp, direkt nach gf-insert-hz-with-ks (ueber
|
||||
;; entlast - zwischen Insert und Tag darf nichts anderes erzeugt werden).
|
||||
;; Gelesen von csv:sep-proxies-erzeugen (export.lsp) am NESTED-Original
|
||||
;; (nested-ent), bevor die temporaere Kopie entsteht.
|
||||
(defun ssg-sep-typ-xdata-schreiben (ent typ)
|
||||
(if (and ent typ)
|
||||
(progn
|
||||
(regapp "SSG_SEP_TYP")
|
||||
(entmod (append (entget ent) (list (list -3 (list "SSG_SEP_TYP" (cons 1000 typ))))))
|
||||
)
|
||||
)
|
||||
ent
|
||||
)
|
||||
|
||||
;; Liest den Streckentyp-Marker zurueck. Rueckgabe: "VF"/"GF" oder nil (kein
|
||||
;; Marker - z.B. Altbestand ohne den neuen Bauzeit-Tag).
|
||||
(defun ssg-sep-typ-xdata-lesen (ent / xd app-data)
|
||||
(setq xd (entget ent (list "SSG_SEP_TYP")))
|
||||
(setq app-data (cdr (assoc -3 xd)))
|
||||
(if app-data (cdr (cadr (car app-data))) nil)
|
||||
)
|
||||
|
||||
;; Liest die Sepliste-XDATA. Rueckgabe: Liste von (typ lfdnr x y), oder nil
|
||||
;; (kein/unbekanntes Sepliste-XDATA am Entity).
|
||||
(defun ssg-sepliste-xdata-lesen (ent app-name / xd app-data werte)
|
||||
|
||||
Reference in New Issue
Block a user