[ADD] HundM05: fehlende Separator/Scanner nachgetragen + Bau-Support
9 reale Separator/Scanner-Koordinaten aus der Anlage in hundm05.json ergaenzt. hundm05:bau-zusatzobjekte (test_hundm05.lsp) baute bisher nur Kreisel-Zusatzobjekte - neue hundm05:bau-sensor-Funktion (analog zu mubea:build-separator-one in test_mubea.lsp) faengt jetzt auch "block"-Eintraege (Separator/Scanner) ab und fuegt sie per _.INSERT ein. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Vendored
+95
@@ -429,6 +429,7 @@
|
||||
"expect_kreiselart": "STANDARD"
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_01",
|
||||
"comment": "Separator 1 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
@@ -438,6 +439,7 @@
|
||||
"rotation": 0
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_02",
|
||||
"comment": "Separator 2 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
@@ -447,6 +449,7 @@
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_02",
|
||||
"comment": "Scanner zu Separator 2 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
@@ -456,6 +459,7 @@
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_03",
|
||||
"comment": "Separator 3 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
@@ -465,6 +469,7 @@
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_03",
|
||||
"comment": "Scanner zu Separator 3 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
@@ -472,5 +477,95 @@
|
||||
"y": 1167.67,
|
||||
"z": 2154,
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_04",
|
||||
"comment": "Separator 4 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
"x": 12191.01,
|
||||
"y": 1168.25,
|
||||
"z": 2154,
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_04",
|
||||
"comment": "Scanner zu Separator 4 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
"x": 12233.73,
|
||||
"y": 1166.39,
|
||||
"z": 2154,
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_05",
|
||||
"comment": "Separator 5 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
"x": 16488.38,
|
||||
"y": 1171.7,
|
||||
"z": 2154,
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_05",
|
||||
"comment": "Scanner zu Separator 5 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
"x": 16531.1,
|
||||
"y": 1169.84,
|
||||
"z": 2154,
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_06",
|
||||
"comment": "Separator 6 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
"x": 20764.96,
|
||||
"y": 1166.18,
|
||||
"z": 2154,
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_06",
|
||||
"comment": "Scanner zu Separator 6 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
"x": 20807.68,
|
||||
"y": 1164.32,
|
||||
"z": 2154,
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_07",
|
||||
"comment": "Separator 7 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
"x": 23738.03,
|
||||
"y": 1170.63,
|
||||
"z": 2154,
|
||||
"rotation": 180
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SCANNER_07",
|
||||
"comment": "Scanner zu Separator 7 (Nachtrag HundM05, reale Koordinate laut Anwender)",
|
||||
"function": "insert",
|
||||
"block": "Scanner",
|
||||
"x": 23780.75,
|
||||
"y": 1168.77,
|
||||
"z": 2154,
|
||||
"rotation": 270
|
||||
},
|
||||
{
|
||||
"id": "HundM05_SEP_08",
|
||||
"comment": "Separator 8 (Nachtrag HundM05, reale Koordinate laut Anwender, ohne zugehoerigen Scanner)",
|
||||
"function": "insert",
|
||||
"block": "S-LP",
|
||||
"x": 24630.12,
|
||||
"y": 1167.22,
|
||||
"z": 2154,
|
||||
"rotation": 180
|
||||
}
|
||||
]
|
||||
|
||||
Vendored
+1
-1
@@ -649,7 +649,7 @@ Zwei Dateien beschreiben dieselben 5 Ketten, in zwei Formaten:
|
||||
| `tests/testdata/hm_recformat.json` | die **Aufzeichnung**: rohes Eingabe-Journal aus der XDATA der Kundenzeichnung, als Frage-Antwort-Protokoll | `TEST_HM_RECFORMAT` (in `alltests.json` abgeschaltet) |
|
||||
| `tests/testdata/hundm05.json` | die daraus abgeleitete **Spec** (Domaenenwerte statt Menue-Codes, 52 statt 281 Objekte) - hier werden weitere Teile der Anlage nachgetragen | `TEST_HUNDM05` |
|
||||
|
||||
In `hundm05.json` stehen neben den Ketten auch **andere Objekte der Anlage**, erkennbar am Feld `function` - Format wie in den jeweiligen Einzel-Testdaten (ein Kreisel also wie in `kreisel_tests.json`, Schema in Abschnitt 1). Damit beschreibt EINE Datei die ganze Anlage. Der Ketten-Uebersetzer ueberspringt diese Objekte (`vsp-gruppieren`), `hundm05:bau-zusatzobjekte` in `tests/test_hundm05.lsp` baut sie, und `lib/vf_spec_export.py` uebernimmt sie beim Neuerzeugen der Spec-Daten. Im Ergebnis-JSON unterscheidet das Feld `kind` die Objektarten (`linienzug` / `kreisel`).
|
||||
In `hundm05.json` stehen neben den Ketten auch **andere Objekte der Anlage**, erkennbar am Feld `function` - Format wie in den jeweiligen Einzel-Testdaten (ein Kreisel also wie in `kreisel_tests.json`, Schema in Abschnitt 1). Damit beschreibt EINE Datei die ganze Anlage. Der Ketten-Uebersetzer ueberspringt diese Objekte (`vsp-gruppieren`), `hundm05:bau-zusatzobjekte` in `tests/test_hundm05.lsp` baut sie, und `lib/vf_spec_export.py` uebernimmt sie beim Neuerzeugen der Spec-Daten. Im Ergebnis-JSON unterscheidet das Feld `kind` die Objektarten (`linienzug` / `kreisel` / `sensor`). `sensor` sind Separator/Scanner-Eintraege (erkennbar an `block`, Schema wie Abschnitt 5/`mubea.json`) - `hundm05:bau-sensor` baut sie per direktem `_.INSERT` nach, analog zu `mubea:build-separator-one` in `tests/test_mubea.lsp` (`ils-insert-sensor` selbst ist nicht scriptbar).
|
||||
|
||||
Die Spec ist das Eingabeformat, die Aufzeichnung die Vorlage, an der sie gemessen wird (Rundlauf-Beweis in `tests/test_vf_spec.py`). Warum beide bleiben: die Aufzeichnung ist die einzige eingecheckte Kopie der Originaldaten (`data/polylines.dxf` ist zu gross fuer das Repo) UND der einzige Test dafuer, dass ein BESTEHENDER `VF_n`-Block weiter abspielbar ist - also dass Doppelklick-Edit und 2D/3D-Konvertierung an Altbestand funktionieren. Gebaut wird routinemaessig nur noch aus der Spec, damit nicht zweimal dieselbe Geometrie entsteht.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user