Files
dxfmakros/tests/testdata/linienzug_modus2_variokurve.json
T
y.wang cf626d721e test: Linienzug Modus 2 als Journal-Replay, Richtungsfrage in den Modus-1-Skripten
Neu: TEST_LINIENZUG_MODUS2 spielt zwei echte Laeufe DERSELBEN Strecke ab -
einmal mit der 90-Grad-Ecke als Vario-Kurve (waagerecht, mit flacher Zone),
einmal als GF-Bogen (geneigt, ohne flache Zone). Beide muessen quer zur
ES-KS_AUS-Achse ~0 und dZ ~0 erreichen; laengs darf um die Ausladung des
ES-Elements abweichen (Leitsatz, doc/VarioFoerderer_Linienzug_Prinzipien.md
Abschnitt 0). Gemessen am 2026-10-27: beide 0.2 mm quer, dZ 0.

Das Paar ist Absicht. Die beiden Varianten laufen durch VERSCHIEDENE Zweige,
und erst ihr Vergleich hat die Fehler dieser Woche sichtbar gemacht - der
ES-Fussabdruck wurde vom falschen Segment abgezogen, was sich nur in der
GF-Bogen-Variante zeigte (878 mm). Einen der beiden zu loeschen nimmt dem
Test seinen Wert.

Anders als die Modus-1-Faelle braucht Modus 2 KEINE Mocks und KEINEN
gezeichneten Pfad: sein Journal traegt einen SEGS-Eintrag mit der kompletten
Segment-Essenz, ist also von den Original-Objekten unabhaengig. Der Test
spielt daher das echte, mit lib/vf_journal_export.py aus der Zeichnung
gelesene Journal ab. Jeder Eintrag fuehrt seine Art mit (PT/STR/REAL/SEGS),
womit die Verschiebe-Anfaelligkeit des Mock-Replays entfaellt.

Dazu: vf-linienzug-modus2 legt die gemessene Abweichung in
*vfl-m2-abweichung* ab (laengs quer dz). Sonst muesste ein Test sie aus der
Konsolenausgabe zurueckparsen.

Ausserdem behoben: beide Modus-1-Testskripte brachen mit
"bad argument type <\"5\"> expected <CONS> at [cdr]" ab. Commit fb56794
(Rueckwaerts-Bau) hat eine Frage VOR die AS-Praeambel gesetzt. Fuer Journale
ist sie abwaertskompatibel, fuer die MOCK-Skripte nicht: der Mock beantwortet
jede getstring-Abfrage aus der Queue, eine fehlende Antwort verschiebt also
alles Folgende um eine Position. Beide Dateien haben den Eintrag jetzt, mit
Begruendung im Kommentar.

Menue: Tests -> Foerderer-Linienzug ruft den neuen Fall mit auf. Die
kompilierte SSG_LIB.cui ist bewusst NICHT mit committet - ihre Aenderung
besteht groesstenteils aus fremden Eintraegen und verschobenen UIDs;
BricsCAD erzeugt sie beim naechsten _MENULOAD neu aus der .mnu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-27 11:42:31 +01:00

108 lines
2.1 KiB
JSON

[
{
"beschreibung": "Linienzug Modus 2, Variante A: 90-Grad-Ecke als VARIO-KURVE (waagerecht eingebaut), Segment 3 dadurch automatisch VF. Deckt die flache Zone ab (Abschluss-Fussabdruck Bogen+Motorstation) und die Eck-Korrektur von 93.8 mm je Nachbargerade. Aufgezeichnet 2026-10-27 aus einem echten BricsCAD-Lauf.",
"test_id": "LZ_M2_variokurve",
"kurz": "Ecke als Vario-Kurve",
"erwartung_quer_mm": 0,
"erwartung_dz_mm": 0,
"erwartung_laengs_mm": 105,
"erwartung_hinweis": "quer zur ES-KS_AUS-Achse MUSS ~0 sein und dZ ~0; laengs darf abweichen - das ist die Ausladung des ES-Elements (siehe doc/VarioFoerderer_Linienzug_Prinzipien.md, Abschnitt 0)."
},
{
"art": "PT",
"x": 20702.423223,
"y": 6047.735576,
"z": 0.0
},
{
"art": "REAL",
"wert": 0.0
},
{
"art": "STR",
"wert": "1"
},
{
"art": "STR",
"wert": "90"
},
{
"art": "STR",
"wert": "1"
},
{
"art": "PT",
"x": 31702.423223,
"y": -267.387621,
"z": 184.3
},
{
"art": "REAL",
"wert": 184.3
},
{
"art": "STR",
"wert": "1"
},
{
"art": "STR",
"wert": "30"
},
{
"art": "STR",
"wert": "2"
},
{
"art": "SEGS",
"wert": "Linie|0|9700|0|links|20702.423223|6047.735576|30402.423223|6047.735576;Bogen|0|707.106781|90|rechts|30402.423223|6047.735576|30902.423223|5547.735576;Linie|-90|4295.507955|0|links|30902.423223|5547.735576|30902.423223|1252.227621;Bogen|-90|258.819045|30|links|30902.423223|1252.227621|30969.410521|1002.227621;Linie|-60|1466.025404|0|links|30969.410521|1002.227621|31702.423223|-267.387621"
},
{
"art": "STR",
"wert": "m2v2"
},
{
"art": "STR",
"wert": "2"
},
{
"art": "STR",
"wert": "2"
},
{
"art": "STR",
"wert": "1"
},
{
"art": "STR",
"wert": "1"
},
{
"art": "STR",
"wert": "1"
},
{
"art": "REAL",
"wert": 3.0
},
{
"art": "STR",
"wert": "2"
},
{
"art": "STR",
"wert": "2"
},
{
"art": "STR",
"wert": "mit-gf1"
},
{
"art": "INT",
"wert": 1
},
{
"art": "STR",
"wert": "1"
}
]