feat: GR_-Geruest-Baugruppen in EXPORTCSV/EXPORTSIVAS aufnehmen
GR_-Bloecke werden jetzt wie BTMT eigenstaendig gesammelt (LISP: neues pattern_geruest in cfg/export.cfg, csv:collect-export-blocks, ssg-id-collect-blocks + ID-ATTDEF in *geruest-attrib-defs*) und in beiden Python-Exporten als eigene TeileArt-Zeile ausgegeben: ARTINR/BEZEICHNUNG/ TEILEART/LAENGE in festen Spalten, restliche Attribute (FARBE/LAYER) im Merkmale-/details-JSON. Dabei zwei Bugs behoben, die beim ersten echten GR_-Export sichtbar wurden: - csv:json-escape nutzte vl-string-subst (ersetzt nur das erste Vorkommen) statt des global ersetzenden ssg-str-replace-all - bei Attributwerten mit mehreren Anfuehrungszeichen blieb ein Zeichen unescaped und brach die JSON-Struktur beim Python-Parsen. - Gradzeichen (°) in data/json/geruest.json durch "Grad" ersetzt, um das Encoding-Risiko (cp1252 vs. UTF-8 beim LISP-Export) zu vermeiden.
This commit is contained in:
@@ -24,9 +24,15 @@
|
||||
|
||||
;; Attribut-Schema des Wrapper-Blocks. Die Dummy-DWG darf eigene Tags
|
||||
;; mitbringen - die bleiben erhalten (ssg-attrib-merge).
|
||||
;; "ID" (leer vorbelegt, wie bei Kreisel/VF_n/GF_n) ist Voraussetzung dafuer,
|
||||
;; dass ssg-id-check-all dem Block ueberhaupt eine ID zuweisen kann -
|
||||
;; ssg-attrib-set-on schreibt nur auf ein bereits vorhandenes ATTDEF, siehe
|
||||
;; oben. Ohne diesen Eintrag bliebe ID fuer immer leer (csv:read-attribs
|
||||
;; exportiert dann eben kein "ID"-Feld statt eines Werts).
|
||||
(if (null *geruest-attrib-defs*)
|
||||
(setq *geruest-attrib-defs*
|
||||
'(("ARTINR" "")
|
||||
'(("ID" "")
|
||||
("ARTINR" "")
|
||||
("LAENGE" "")
|
||||
("BEZEICHNUNG" "")
|
||||
("TEILEART" "")
|
||||
|
||||
Reference in New Issue
Block a user