sepliste: Bauteil-IDs eintragen, AS/ES ueber dauerhaften Marker sichtbar machen
Stufe 1 (LISP-Export-Pfad): export_raw.json enthaelt jetzt fuer jeden sepliste-Eintrag (AS/SEP/ES) einer VF_n/GF_n-Kette die ID des realen Bauteils, das ihn vertritt. - csv:sep-proxies-erzeugen (Separatoren) und die neuen AS/ES-Marker teilen sich csv:nested-welt-records/csv:block-einfuegen-welt zur Platzierung. - csv:sepliste-paare ordnet sepliste-Eintraege ihrem Bauteil exklusiv nach Abstand zu (kuerzester zuerst, dann verbraucht) statt "jeder Eintrag nimmt sich das naechste" - ein einzelner fehlerhafter Koordinatenwert (bekannter Bug: gespiegeltes x bei lfdnr=2) verschiebt dadurch keine andere Zuordnung mehr. - Neu: ZZ_ASES_MARKER - ein kleines Rechteck an jedem AS/ES-Kettenende, das nach dem Export STEHEN BLEIBT (anders als die temporaeren Separator-Kopien). Macht das sonst unsichtbare, in der Wrapper- Blockdefinition verpackte Kettenende in BricsCAD sichtbar/anklickbar und traegt seine ID unsichtbar am Attribut ID - dadurch behaelt ein AS/ES seine TeileId ueber Exportlaeufe hinweg. Wird bei jedem Export neu aufgebaut (Lage folgt der Kette), Wiederfund ueber ZUORDNUNG+TYP+ LFDNR, verwaiste Marker werden entfernt. In BricsCAD verifiziert (5 HundM05-Ketten, zwei Exportlaeufe: gleiche Marker-IDs, korrekte sepliste-"id"-Felder). Dabei einen realen Bug gefunden und behoben: die Blockdefinition des Markers uebernahm ueber einen ungefilterten entnext-Walk versehentlich auch die Attribute des zuletzt eingefuegten Blocks (VF_5 verlor dadurch alle Attribute inkl. ID) - jetzt auf LWPOLYLINE/ATTDEF gefiltert. 9 neue zeichnungsfreie Unit-Tests (csv:sepliste-paare/*, csv:asmark- finden/*, csv:proxy-typ/*), 4 neue de/en-Textschluessel (Paritaet geprueft). bin\run_tests.bat --lisp: 257/257 bestanden. Noch nicht enthalten (Stufe 2, Python): map_separator_kette_items nutzt das neue "id"-Feld noch nicht, build_strecke_schleus_items synthetisiert AS/ES-Zeilen weiterhin selbst statt die exportierten zu lesen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
9671fe4e04
commit
618ff3d86c
@@ -62,6 +62,31 @@
|
||||
(if (not (assoc nm *dbg-schalter*))
|
||||
(setq *dbg-schalter* (cons (cons nm 1) *dbg-schalter*))))
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; TEMPORAER - Diagnose "gespiegelte Sepliste-Koordinate" (lfdnr=2)
|
||||
;;
|
||||
;; Beide Schalter hier stehen NUR fuer diese Fehlersuche auf 1 und werden
|
||||
;; danach wieder entfernt (mitsamt der zugehoerigen Instrumentierung in
|
||||
;; ssg_ks_insert.lsp/Gefaellestrecke.lsp/vf_core.lsp bzw. dem Guard in
|
||||
;; csv:sep-proxies-loeschen, export.lsp). Sie sind bewusst vorregistriert,
|
||||
;; damit nach einem BricsCAD-Neustart ohne weiteres Zutun protokolliert wird.
|
||||
;;
|
||||
;; vf-sepliste - protokolliert den kompletten Weg der
|
||||
;; Sepliste-Koordinaten beim Bau einer VF-/GF-Kette
|
||||
;; nach DXFM_LOG/vf_sepliste.dbg (eigene Datei, nicht
|
||||
;; ueber *dbg-path*).
|
||||
;; csv_leave_proxies - laesst die temporaeren Separator_SP-Kopien, die der
|
||||
;; Export aus den Wrappern auspackt, nach dem Export in
|
||||
;; der Zeichnung stehen, damit ihre tatsaechliche Lage
|
||||
;; in BricsCAD gegen die sepliste-Koordinaten geprueft
|
||||
;; werden kann. ACHTUNG: die Kopien werden bei JEDEM
|
||||
;; Export neu erzeugt und sammeln sich an - Zeichnung
|
||||
;; danach nicht speichern.
|
||||
;; ------------------------------------------------------------
|
||||
(foreach nm '("vf-sepliste" "csv_leave_proxies")
|
||||
(if (not (assoc nm *dbg-schalter*))
|
||||
(setq *dbg-schalter* (cons (cons nm 1) *dbg-schalter*))))
|
||||
|
||||
(defun dbg-schalter-set (name wert)
|
||||
(setq *dbg-schalter*
|
||||
(cons (cons name wert)
|
||||
|
||||
Reference in New Issue
Block a user