[ADD] dxf_scan_components.py: Separatoren/Scanner auf einer Kreisel-Kette uebernehmen dessen Anwender-Hoehe (sensor_hoehen_von_kreiseln, bei --kreisel-hoehe) + Tests; [FIX] GF-Winkel aus Kreisel-Hoehen (dematic_arvato:gf-winkel): Modus 1 haelt die horizontale Laenge fest - Abfall = (deltaL - aus-dx - ein-dx) * tan(w) statt asin-Naeherung von gf-winkel-berechnen, ES-Abfall beim aktuellen Winkel gemessen und iteriert (steile GF wie Showroom ~37 Grad endeten sonst weit unter dem Kreisel); [CHANGE] Showroom ILS: Testdaten und Treiber aktualisiert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -260,3 +260,29 @@ def test_kurznamen_ae_ee():
|
||||
assert dsc.familie_von("EE-R") == "schleuselement"
|
||||
assert dsc.mappe_block("AE-D")[0].startswith("AS_Element_90_")
|
||||
assert dsc.mappe_block("EE-R")[0].startswith("ES_Element_90_")
|
||||
|
||||
|
||||
def test_sensor_bekommt_hoehe_des_kreisels():
|
||||
# Kreisel_Showroom_03: Einfuegepunkt (37105.93, 9888.9), rotation 180,
|
||||
# Ketten y=9488.9/10288.9. Separator auf der Kette, Scanner 280 mm
|
||||
# innerhalb, ein Teil 1000 mm daneben bleibt unberuehrt.
|
||||
kreisel = {"id": "K3", "x": 37105.93, "y": 9888.9, "z": 1700.0,
|
||||
"abstand": 7200.0, "rotation": 180.0, "hoehe_quelle": "Anwender"}
|
||||
sep = {"function": "insert", "block": "S-LP", "x": 30343.39, "y": 9488.9,
|
||||
"z": 0.0, "hoehe_unbekannt": True, "comment": ""}
|
||||
scan = {"function": "insert", "block": "Scanner", "x": 35905.93,
|
||||
"y": 10008.9, "z": 0.0, "comment": ""}
|
||||
weit = {"function": "insert", "block": "S-LP", "x": 33000.0, "y": 11300.0,
|
||||
"z": 0.0, "comment": ""}
|
||||
assert dsc.sensor_hoehen_von_kreiseln([kreisel, sep, scan, weit]) == 2
|
||||
assert sep["z"] == 1700.0 and "hoehe_unbekannt" not in sep
|
||||
assert scan["z"] == 1700.0
|
||||
assert weit["z"] == 0.0
|
||||
|
||||
|
||||
def test_sensor_ohne_anwender_hoehe_bleibt():
|
||||
kreisel = {"id": "K", "x": 0.0, "y": 0.0, "z": 0.0, "abstand": 5000.0,
|
||||
"rotation": 0.0}
|
||||
sep = {"function": "insert", "block": "S-LP", "x": 1000.0, "y": 400.0,
|
||||
"z": 0.0, "comment": ""}
|
||||
assert dsc.sensor_hoehen_von_kreiseln([kreisel, sep]) == 0
|
||||
|
||||
Reference in New Issue
Block a user