Stufen 2 und 3 aus doc/Konzept_Layout_Hardware_SCL.md: - lib/hw_import.py: TIA-Import (*_TIA.xlsx, ohne openpyxl gelesen) + Positionsdatei (*_positionsconv.json) -> <projekt>_hw.json: je BMK Adresse, Index-Konstante, VERW, Station, Lage, Foerderer (K0102, #106 -> K0106); Antriebe MA/FC/GF; Gegenpruefung beider Quellen. - lib/merge_hw_layout.py: <csv>_tro.json + <projekt>_hw.json -> <csv>_anlage.json (model.AnlageDocument): bindings je TRO-ID + Slot + Rolle mit Konstante und Adresse, Foerderer per Mehrheit (Mubea: K0102 = Kreisel3, K0104 = Kreisel2, K0105 = Kreisel1), Handkorrekturen cfg/hw_overrides.ini. Zuordnungslogik aus e_planning.py hierher verschoben; e_planning re-exportiert sie, Ergebnis unveraendert. - TRO-JSON traegt optional `parts` (Lage/Huellbox, tro_flow --json), PinStore bekommt Slots line<n>. - Gespeicherter Lagebezug mit SHA-256 der Positionsdatei; Unterordner in Eingabenamen relativ zu SKEL_DATA. - Doku: Python_Scripts.md 5d/5e, Konzept, E-Planung_Bruecke (Abgleich mubea_layout.dxf / CSV / E-Planung). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
88 lines
3.0 KiB
JSON
88 lines
3.0 KiB
JSON
{
|
|
"mubea.csv|500573_60_1.dxf": {
|
|
"dx": 50833.7283274331,
|
|
"dy": 8414.490373798908,
|
|
"rotation": 0.0,
|
|
"source": "auto",
|
|
"anchor": "20 exakte Treffer (<= 50 mm) ueber die Rollen Scanner:8, Separator:38; 22 Stimmen im 100-mm-Raster, 6 Kandidaten geprueft",
|
|
"matched": 36,
|
|
"candidates": 46,
|
|
"residual_max": 487.77757110283585,
|
|
"residual_mean": 93.12692369578822,
|
|
"csv_file": "mubea.csv",
|
|
"dxf_file": "500573_60_1.dxf",
|
|
"created": "2026-10-02 12:45"
|
|
},
|
|
"export.csv|Mubea.dxf": {
|
|
"dx": 59.950000000000045,
|
|
"dy": 0.0,
|
|
"rotation": 0.0,
|
|
"source": "auto",
|
|
"anchor": "21 exakte Treffer (<= 50 mm) ueber die Rollen Scanner:8, Separator:35; 21 Stimmen im 100-mm-Raster, 6 Kandidaten geprueft",
|
|
"matched": 43,
|
|
"candidates": 43,
|
|
"residual_max": 419.95000000000005,
|
|
"residual_mean": 90.1746667187897,
|
|
"csv_file": "export.csv",
|
|
"dxf_file": "Mubea.dxf",
|
|
"created": "2026-08-12 10:09"
|
|
},
|
|
"HundM05.csv|HundM05.dxf": {
|
|
"dx": 0.0,
|
|
"dy": 0.0,
|
|
"rotation": 0.0,
|
|
"source": "cli",
|
|
"anchor": "von Hand: CSV aus derselben dxfmakros-Zeichnung exportiert, Koordinaten identisch (Auto-Ermittlung sieht die in VF_/KREISEL_-Bloecken verschachtelten Separatoren nicht und war mehrdeutig)",
|
|
"matched": 14,
|
|
"candidates": 26,
|
|
"residual_max": 360.0,
|
|
"residual_mean": 164.97465794329284,
|
|
"csv_file": "HundM05.csv",
|
|
"dxf_file": "HundM05.dxf",
|
|
"created": "2026-10-02 13:40"
|
|
},
|
|
"mubea.csv|mubea.dxf": {
|
|
"dx": 0.0,
|
|
"dy": 0.0,
|
|
"rotation": 0.0,
|
|
"source": "cli",
|
|
"anchor": "von Hand: CSV aus derselben dxfmakros-Zeichnung exportiert, Koordinaten identisch (Auto-Ermittlung sieht die in VF_/KREISEL_-Bloecken verschachtelten Separatoren nicht und war mehrdeutig)",
|
|
"matched": 20,
|
|
"candidates": 46,
|
|
"residual_max": 360.0,
|
|
"residual_mean": 256.77327549812964,
|
|
"csv_file": "mubea.csv",
|
|
"dxf_file": "mubea.dxf",
|
|
"created": "2026-10-02 13:40"
|
|
},
|
|
"dematic.csv|dematic_TST.dxf": {
|
|
"dx": 0.0,
|
|
"dy": 360.0,
|
|
"rotation": 0.0,
|
|
"source": "auto",
|
|
"anchor": "6 exakte Treffer (<= 50 mm) ueber die Rollen Scanner:6, Separator:52; 6 Stimmen im 100-mm-Raster, 2 Kandidaten geprueft",
|
|
"matched": 17,
|
|
"candidates": 58,
|
|
"residual_max": 419.9499999999998,
|
|
"residual_mean": 235.56575392994918,
|
|
"csv_file": "dematic.csv",
|
|
"dxf_file": "dematic_TST.dxf",
|
|
"created": "2026-10-06 14:19"
|
|
},
|
|
"mubea.csv|Mubea_positionsconv.json": {
|
|
"dx": -151.4000000000001,
|
|
"dy": -696.5699999999997,
|
|
"rotation": 0.0,
|
|
"source": "auto",
|
|
"anchor": "20 exakte Treffer (<= 50 mm) ueber die Rollen Separator:38; 20 Stimmen im 100-mm-Raster, 6 Kandidaten geprueft",
|
|
"matched": 23,
|
|
"candidates": 38,
|
|
"residual_max": 541.020430390572,
|
|
"residual_mean": 52.985147546665765,
|
|
"csv_file": "mubea.csv",
|
|
"dxf_file": "Mubea_positionsconv.json",
|
|
"created": "2026-10-15 13:15",
|
|
"fingerprint": "085df1af63e4b71d8a51301ea0c6e7812d415b5efd0c6b409c58cf2cb77ba4e2"
|
|
}
|
|
}
|