export_csv: sepliste-Koordinaten (x/y) entfernen, nur noch typ/lfdnr/id

Validiert (Nutzer-Befund): die sepliste-XDATA-Koordinaten sind der rohe
Gruppencode-10-Punkt des jeweiligen Bau-Primitivs und teils gespiegelt/um
mehrere 100mm verschoben (z.B. Separator 0037: x=-5070.1 statt 5070.1,
ausserhalb der VF_1-Boundingbox). Die eigene Export-Zeile jedes Bauteils
(x/y aus der echten Proxy-Kopie) ist dagegen verlaesslich und liegt korrekt
in der Boundingbox. sepliste dient nur noch der ID-Zuordnung/Reihenfolge,
nicht mehr als Koordinatenquelle.

Der Python-Faellback in map_sepliste_kette_items (nur fuer SEP-Eintraege
ohne aufloesbares "id"-Feld, Altbestand) matchte bisher per naechstem
sepliste-Punkt - jetzt erster unverbrauchter Kandidat je Zuordnung, da keine
Koordinate mehr vorliegt. lib/dump_vf_kette_inhalt.py zeigt Position/Typ
jetzt ueber die ID-Verknuepfung zur eigenen Bauteil-Zeile statt ueber die
entfernten sepliste-Felder.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-09-24 10:58:53 +02:00
co-authored by Claude Sonnet 5
parent 42309c77d2
commit 4f1a0e0b5b
4 changed files with 71 additions and 22 deletions
+15 -2
View File
@@ -786,6 +786,21 @@
;; Eintrag (Key = Handle dieses Wrappers). Fehlt sie (Kopie nicht
;; erzeugbar, Block ohne ID-ATTDEF, Altbestand), bleibt das Feld weg -
;; der Python-Teil faellt dann auf seine Koordinaten-Zuordnung zurueck.
;;
;; KEIN x/y mehr im JSON: die sepliste-XDATA-Koordinaten sind der
;; rohe Gruppencode-10-Punkt des jeweiligen Einfuege-Primitivs
;; (siehe gf-insert-hz-with-ks-Kommentar, ssg_ks_insert.lsp) und
;; koennen gespiegelt/verschoben sein (Nutzer-Befund 2026-09-25:
;; Sepliste-x/y von SEP-Eintraegen wich um bis zu mehrere 100mm bzw.
;; vorzeichenverkehrt von der tatsaechlichen, aus der echten
;; Proxy-Kopie berechneten Position ab - siehe die "x"/"y"-Felder
;; der eigenen Bauteil-Zeile, die verlaesslich sind). x/y wurden nie
;; fuer die ID-Zuordnung gebraucht (die laeuft VORHER, LISP-seitig,
;; ueber csv:sepliste-paare/csv:sepliste-ids-setzen mit einer
;; eigenen, unabhaengigen XDATA-Lesung) - nur der Python-Naehe-
;; Fallback (map_sepliste_kette_items in export_csv.py, fuer
;; SEP-Eintraege ohne "id", Altbestand ohne ID-ATTDEF) konsumierte
;; sie und degradiert jetzt auf 0.0/0.0 (siehe dort).
(setq sepliste-ids (cdr (assoc handle *csv-sepliste-id-by-handle*)))
(setq sepliste-teile "" sepliste-first t)
(foreach e sepliste
@@ -794,8 +809,6 @@
(strcat sepliste-teile (if sepliste-first "" ",")
"{\"typ\":\"" (nth 0 e) "\""
",\"lfdnr\":" (itoa (nth 1 e))
",\"x\":" (rtos (nth 2 e) 2 2)
",\"y\":" (rtos (nth 3 e) 2 2)
(if sep-id (strcat ",\"id\":\"" (csv:json-escape sep-id) "\"") "")
"}"))
(setq sepliste-first nil)