[ADD] Geruest: Teile-DWGs (data/geruest/<artnr>.dwg) als Geometrie im GR_-Block; TEILEFARBE als Liste parallel zu ARTINR (Flag farbig in geruest.json), Sivas-Merkmal 108 aus cfg [Sivas]; Menue-Befehle GERUEST_SAEULEN/_ROHRABHAENGER/_WANDBEFESTIGUNG

[FIX] Sivas-Export las nicht existierendes Attribut FARBE
This commit is contained in:
Simon Hensch
2026-09-29 12:07:00 +02:00
parent 66c4336b9e
commit 4e39c64ec1
21 changed files with 637 additions and 383 deletions
+44
View File
@@ -823,6 +823,21 @@
(geruest-artikelnummern
(ssg-json-parse "{\"artikel\": \"C\", \"sivas_id\": 333}")))
;; --- Teile-DWGs (visuelle Rueckmeldung im Block) ---
(tu-eq "geruest-eindeutig/dupl" '("1" "2" "3")
(geruest-eindeutig '("1" "2" "1" "3" "2")))
(tu-eq "geruest-eindeutig/leer" nil (geruest-eindeutig nil))
;; Artikelnummer ohne DWG -> still uebergangen
(tu-eq "geruest-teile-dwgs/fehlt" nil
(geruest-teile-dwgs '("999999999")))
;; Vorhandene DWG (liegt im Repo) -> genau ein Pfad, auch bei Mehrfach-
;; Stueckzahl und gemischt mit einer fehlenden Nummer
(setq _pfad (geruest-dummy-pfad "825002019.dwg"))
(if (and _pfad (findfile _pfad))
(tu-eq "geruest-teile-dwgs/vorhanden" (list _pfad)
(geruest-teile-dwgs '("825002019" "999999999" "825002019")))
)
;; --- Mengenfeld ---
(tu-eq "geruest-zahl-p/ziffern" T (geruest-zahl-p "12"))
(tu-eq "geruest-zahl-p/text" nil (geruest-zahl-p "1a"))
@@ -841,6 +856,35 @@
(tu-eq "geruest-artnr-n/gruppe" '("111" "222" "222" "111" "222" "222")
(geruest-artikelnummern-n _gruppe 2))
;; --- farbig-Flag / TEILEFARBE-Liste parallel zu ARTINR ---
;; _eintrag hat kein "farbig" -> nicht farbig
(tu-eq "geruest-paare/ohne-flag" '(("825002019") ("825002019"))
(geruest-teile-paare _eintrag nil))
(tu-eq "geruest-paare/farbig" '(("444" . T))
(geruest-teile-paare
(ssg-json-parse "{\"artikel\": \"D\", \"sivas_id\": 444, \"farbig\": true}")
nil))
(tu-eq "geruest-paare/false" '(("555"))
(geruest-teile-paare
(ssg-json-parse "{\"artikel\": \"E\", \"sivas_id\": 555, \"farbig\": false}")
nil))
;; Gruppe mit farbig vererbt an alle Teile, Mengen bleiben erhalten
(setq _teile (ssg-json-parse
(strcat "{\"name\": \"Set\", \"farbig\": true, \"teile\": ["
"{\"artikel\": \"A\", \"sivas_id\": 111},"
"{\"artikel\": \"B\", \"sivas_id\": 222, \"menge\": 2}]}")))
(tu-eq "geruest-paare/gruppe-erbt" '(("111" . T) ("222" . T) ("222" . T))
(geruest-teile-paare _teile nil))
(tu-eq "geruest-paare-n/gruppe" 6 (length (geruest-teile-paare-n _teile 2)))
(tu-eq "geruest-paare-n/einzelteil-farbig" '(("444" . T) ("444" . T))
(geruest-teile-paare-n
(ssg-json-parse "{\"artikel\": \"D\", \"sivas_id\": 444, \"farbig\": true}")
2))
(tu-eq "geruest-farbliste" '("" "RAL7030" "")
(geruest-farbliste '(("1") ("2" . T) ("3")) "RAL7030"))
(tu-eq "geruest-farbliste/join" ",RAL7030,"
(ssg-join (geruest-farbliste '(("1") ("2" . T) ("3")) "RAL7030") ","))
;; --- DCL-Label: Anfuehrungszeichen wuerde die Datei zerstoeren ---
(tu-eq "geruest-dcl-label/quote" "ROHRKLAMMER 1'' KPL. VERTIKAL"
(geruest-dcl-label "ROHRKLAMMER 1\" KPL. VERTIKAL"))