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
@@ -48,6 +48,25 @@
|
||||
# den DWGs (ssg-id-check-all fuellt es vor jedem Export, siehe
|
||||
# ssg-id-collect-blocks in ssg_id.lsp).
|
||||
#
|
||||
# pattern_schleuselement: die AS-/ES-Schleuselemente an den Enden einer
|
||||
# VF_n/GF_n-Kette. Sie liegen in der gespeicherten Zeichnung NICHT als eigener
|
||||
# top-level INSERT vor, sondern verpackt in der Wrapper-Blockdefinition. Dieses
|
||||
# Muster dient nur der SUCHE in der Blockdefinition (csv:nested-welt-records in
|
||||
# Lisp/export.lsp) - exportiert wird nicht das Element selbst, sondern sein
|
||||
# Marker (siehe pattern_ases_marker).
|
||||
#
|
||||
# pattern_ases_marker: der Marker, den der Export an jedes AS-/ES-Kettenende
|
||||
# setzt (ZZ_ASES_MARKER, ein kleines Rechteck, csv:asmark-aktualisieren in
|
||||
# Lisp/export.lsp). Er bleibt nach dem Export in der Zeichnung stehen, macht
|
||||
# das sonst unsichtbare Kettenende anklickbar und traegt dessen ID ueber
|
||||
# Exportlaeufe hinweg (Attribute ID/ZUORDNUNG/TYP/LFDNR/ELEMENT/ARTINR, alle
|
||||
# unsichtbar). Die ID landet im "sepliste"-Array des Wrappers (Feld "id" je
|
||||
# Eintrag) UND als eigene Zeile in export_raw.json. Von Lisp's Block-SAMMLUNG
|
||||
# genutzt; die Python-Klassifikation kennt das Muster noch nicht (der Block
|
||||
# faellt dort durch alle Muster und wird uebersprungen) - sobald sie es kennt,
|
||||
# ersetzt sie damit die bisher in Python synthetisierten Ein-/Ausschleus-
|
||||
# element-Zeilen (build_strecke_schleus_items).
|
||||
#
|
||||
# pattern_geruest: Geruest-Baugruppen (GeruestInsert.lsp, GR_<id>_<timestamp>).
|
||||
# Eigenstaendig wie BTMT, kein ANZAHL_*-Attribut an einem Carrier - export_csv.py
|
||||
# UND export_sivas.py fuehren sie als eigene TeileArt-Zeilen.
|
||||
@@ -61,6 +80,8 @@ pattern_strecke= Vario*, Staustrecke*, AUS_Element*, EIN_Element*, VF_
|
||||
pattern_variofoerderer= VF_*
|
||||
pattern_gefaellestrecke= GF_*
|
||||
pattern_strecke_module= Vario*, Staustrecke*, AUS_Element*, EIN_Element*
|
||||
pattern_schleuselement= AS_Element*, ES_Element*
|
||||
pattern_ases_marker= ZZ_ASES_MARKER*
|
||||
pattern_separator= Separator_SP*, S-LP*
|
||||
pattern_scanner= Scanner*
|
||||
pattern_btmt_beladung= BTMT-Beladung*
|
||||
@@ -169,6 +190,17 @@ omniflo_ks_toleranz_mm=10
|
||||
# Ueberschneidungstest - zur Diagnose, warum (keine) Nachbarn gefunden werden.
|
||||
debug_log=1
|
||||
|
||||
[Marker]
|
||||
# Kantenlaenge (mm) des quadratischen Markers, den der Export an jedes AS-/ES-
|
||||
# Kettenende einer VF_n/GF_n-Strecke setzt (Block ZZ_ASES_MARKER, siehe
|
||||
# csv:asmark-* in Lisp/export.lsp). Der Marker sitzt MITTIG auf dem
|
||||
# Einfuegepunkt des Schleuselements und folgt dessen Drehung. Nur optisch
|
||||
# relevant - Nachbarschaft/Zuordnung rechnen nicht mit dieser Groesse.
|
||||
# Wirkt erst, wenn die Blockdefinition NEU angelegt wird: in einer Zeichnung,
|
||||
# die ZZ_ASES_MARKER schon kennt, bleibt die vorhandene Groesse bestehen
|
||||
# (Block ueber _PURGE entfernen, um sie neu zu erzeugen). Default 200.
|
||||
ases_groesse_mm=200
|
||||
|
||||
[Boundingbox]
|
||||
# Mindesthoehe (Z-Ausdehnung) der von export.lsp (csv:get-bbox, per
|
||||
# vla-getboundingbox) ermittelten Bounding-Box. Flache 2D-Bloecke (Draufsicht)
|
||||
|
||||
Reference in New Issue
Block a user