Files
dxfmakros/tests/testdata/mubea.json
T
m.stangl 1d5d7c141e [FIX] Scanner-Insert in TEST_MUBEA: eff wurde durch AND statt IF zu T
mubea:build-separator-one nutzte (and blockname (ssg-ils-block-laden
blockname)) fuer eff - AutoLISPs AND liefert bei mehreren wahren
Ausdruecken T zurueck statt des letzten Werts (anders als in Common
Lisp/Scheme). Sobald ein Blockname (z.B. "Scanner") direkt gefunden
wurde, statt ueber den Separator_SP-Fallback zu laufen, wurde eff=T
an "_.INSERT" uebergeben. Fix: (if blockname (ssg-ils-block-laden
blockname)).

Ausserdem: Scanner-Testeintrag in mubea.json ergaenzt und
_vario_count/_separator_count in test_mubea.py, damit erwartete
Ergebniszahlen auch bei "anzahl">1 (Template->mehrere Kopien) stimmen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28 13:49:21 +02:00

198 lines
5.8 KiB
JSON

[
{
"id": "Kreisel_unten",
"function": "insert",
"x": 400,
"y": -5478,
"z": 1467,
"abstand": 5000,
"rotation": 0.0,
"typ": "STANDARD",
"expect_block_prefix": "KREISEL_",
"expect_hoehe": "1467",
"expect_kreiselart": "STANDARD",
"comment": "x,y aus DXF (500573_60_1.dxf, SP8 Insert #2 (x=-40865.2521,y=5878.2466), raw) abgeleitet; z=1467 unveraendert (Einfuegehoehe, im 2D-Plan nicht enthalten). Vorheriger Handwert: x=800, y=14137"
},
{
"id": "Kreisel_links",
"function": "insert",
"x": 0,
"y": -5878,
"z": 1467,
"abstand": 20015,
"rotation": 90.0,
"typ": "STANDARD",
"expect_block_prefix": "KREISEL_",
"expect_hoehe": "1467",
"expect_kreiselart": "STANDARD",
"comment": "x,y aus DXF (500573_60_1.dxf, SP8 Insert #1 (x=-50775.7283,y=5878.2466), raw) abgeleitet; z=1467 unveraendert (Einfuegehoehe, im 2D-Plan nicht enthalten). Vorheriger Handwert: x=0, y=14137"
},
{
"comment": "Separator links Kreisel_links zugeordnet",
"function": "insert",
"block": "S-LP",
"x": -400,
"y": 13980,
"z": 1467,
"rotation": 270,
"assigned_to": "Kreisel_links"
},
{
"comment": "Separator linken Kreisel unten",
"function": "insert",
"block": "S-LP",
"x": 400,
"y": -4700,
"z": 1467,
"rotation": 90,
"assigned_to": "Kreisel_links"
},
{
"comment": "Scanner linken Kreisel unten",
"function": "insert",
"block": "Scanner",
"x": 400,
"y": -4823,
"z": 1467,
"rotation": 0,
"assigned_to": "Kreisel_links"
},
{
"id": "Kreisel_rechts",
"function": "insert",
"x": 9910,
"y": -5878,
"z": 1941,
"abstand": 20015,
"rotation": 90.0,
"typ": "STANDARD",
"expect_block_prefix": "KREISEL_",
"expect_hoehe": "1941",
"expect_kreiselart": "STANDARD",
"comment": "x,y aus DXF (500573_60_1.dxf, AN8 Insert (x=-40865.2521,y=-14812.3513), raw) abgeleitet; z=1941 unveraendert (Einfuegehoehe, im 2D-Plan nicht enthalten). Vorheriger Handwert: x=9910, y=14137"
},
{
"comment": "Separator 1 Qualitaetskontrolle linker Kreisel",
"function": "insert",
"block": "S-LP",
"x": -400,
"y": -4410,
"z": 1467,
"rotation": 270,
"assigned_to": "Qualitaetskontrolle"
},
{
"test_id": "VF_Schnitt_C",
"richtung": "Auf",
"deltaL": 9110,
"deltaH": 474,
"winkel": 21,
"gf_verteilung": "manuell",
"L_GF1": 2298,
"seite": "links",
"hz": 0.0,
"x": 400,
"y": 14120,
"z": 1467,
"comment": "deltaL=9110 wie die Gefaellestrecken (GF_Mubea deltaL_mm) - deltaL ist die GESAMTLAENGE des VF (Vorlauf L_GF1 + Foerderer L_VF + Nachlauf L_GF2), analog foerderer_tests.json/object_data.md 3.1; winkel=21 wird erzwungen (naechster verfuegbarer Bogenwinkel); L_GF (gesamt) und L_VF werden von berechne-alle-winkel aus deltaL/deltaH/winkel geloest, L_GF1=500 (Vorlauf-Ziel) fix, L_GF2 = L_GF_gesamt - L_GF1 (Nachlauf, Rest)"
},
{
"comment": "Separator Förderer oben",
"function": "insert",
"block": "S-LP",
"x": 8922,
"y": 13509,
"z": 1467,
"rotation": 180,
"assigned_to": "VF_Schnitt_C"
},
{
"test_id": "GF_Mubea",
"modus": 1,
"deltaL_mm": 9110,
"hz_grad": 180.0,
"winkel_grad": 2.27,
"start_mm": [9510, 12300, 1941],
"as_seite": "links",
"es_seite": "links",
"as_winkel": "90",
"es_winkel": "90",
"anzahl": 20,
"delta_y": -800,
"comment": "Template fuer alle Gefaellestrecken (Modus 1): 'anzahl' identische Kopien, je um 'delta_y' (mm) in Y versetzt (nur start_mm). Erzeugt GF_Mubea_01..GF_Mubea_anzahl. Aufbau ausschliesslich aus Anfangspunkt start_mm und der horizontalen Gesamtlaenge deltaL_mm - KEIN Endpunkt (wie Produktion/gefaellestrecke.dcl Modus 1). winkel_grad steuert den Gefaellewinkel (Default 3.0, falls Feld fehlt), Zielhoehe ergibt sich daraus. start_mm.x/z aus DXF (EE-R Start hoch z=1941); deltaL_mm ~ reale XY-Distanz Start->AE-DS im DXF."
},
{
"test_id": "GF_Mubea",
"comment": "Separator S-LP an jeder Gefaellestrecken-Reihe: 'anzahl' identische Kopien, je um 'delta_y' (mm) in Y versetzt - analog zum GF_Mubea-Template. Erzeugt Ergebnis-test_id GF_Mubea_01..GF_Mubea_anzahl (kind=separator, unterscheidbar von der gleichnamigen Gefaellestrecke ueber 'kind').",
"function": "insert",
"block": "S-LP",
"x": 970,
"y": 12300,
"z": 1560,
"rotation": 0,
"anzahl": 20,
"delta_y": -800,
"assigned_to": "GF_Mubea"
},
{
"comment": "Separator 1 unterer Kreisel",
"function": "insert",
"block": "S-LP",
"x": 1415,
"y": -5078,
"z": 1467,
"rotation": 0,
"assigned_to": "Kreisel_unten"
},
{
"comment": "Separator 2 unterer Kreisel",
"function": "insert",
"block": "S-LP",
"x": 5415,
"y": -5878,
"z": 1467,
"rotation": 180,
"assigned_to": "Kreisel_unten"
},
{
"comment": "Separator S-LP #11 Y-Abgleich mit Gefaellestrecken (Sep-Y=8777, GF_Mubea_04-Y=9126, diff=349mm, enger Treffer)",
"function": "insert",
"block": "S-LP",
"x": 9510,
"y": 14000,
"z": 1467,
"rotation": 270,
"assigned_to": "Kreisel_rechts"
},
{
"comment": "Separator Eingang 1 Rechter_Kreisel",
"function": "insert",
"block": "S-LP",
"x": 10310,
"y": -500,
"z": 1467,
"rotation": 90,
"assigned_to": "Kreisel_rechts"
},
{
"comment": "Separator Eingang 2 Rechter_Kreisel",
"function": "insert",
"block": "S-LP",
"x": 10310,
"y": 100,
"z": 1467,
"rotation": 90,
"assigned_to": "Kreisel_rechts"
},
{
"comment": "Separator S-LP #8 Y-Abgleich mit Gefaellestrecken (Sep-Y=-4823, GF_Mubea_20-Y=-3673, diff=1150mm, naechstgelegene Reihe, kein enger Treffer)",
"function": "insert",
"block": "S-LP",
"x": 9510,
"y": -4823,
"z": 1467,
"rotation": 270,
"assigned_to": "GF_Mubea_20"
}
]