From 9e024869d4509abd5566f4cc169383f7bde41a45 Mon Sep 17 00:00:00 2001 From: Paul Wolok Date: Sat, 24 Jan 2026 10:00:20 +0100 Subject: [PATCH] =?UTF-8?q?Refactor=20=C3=A4nderung=20im=20Kode=20f=C3=BCr?= =?UTF-8?q?=20Gef=C3=A4hllestrecke=20die=20keine=20Ausnahmen=20besitzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Elemente/Gefaehllestrecke.py | 8 +++++++- lib/plant2dxf.py | 26 ++++---------------------- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/lib/Elemente/Gefaehllestrecke.py b/lib/Elemente/Gefaehllestrecke.py index 346d209..9547fe4 100644 --- a/lib/Elemente/Gefaehllestrecke.py +++ b/lib/Elemente/Gefaehllestrecke.py @@ -38,7 +38,13 @@ class Gefaellestrecke(BaseModel): anzahl_scanner = int(merkmale.get("Anzahl der Scanner")), anzahl_separatoren = int(merkmale.get("Anzahl der Separatoren")) ) - + def erstehlung_von_gefalle_ohne_aussnahmen(msp, x, y, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, halbe_laenge, winkel): + dx = halbe_laenge *math.sin(winkel * -1) + dy = halbe_laenge * math.cos(winkel) + start = x +dx, y + dy,upper_hoehe_gefaehlle + ende = x -dx, y - dy,lower_hoehe_gefaehlle + line =msp.add_line(start,ende) + line.dxf.layer = "6-SP" def rotation_mit_zwei_verbunden(gefaellestrecke_nachbarn,richtung2, richtung0, am_kreisel, kreisel_verbunden, hight_position): drehung0 =gefaellestrecke_nachbarn.get("Drehung0") drehung1 = gefaellestrecke_nachbarn.get("Drehung1") diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py index 7e2cd77..0e8b204 100644 --- a/lib/plant2dxf.py +++ b/lib/plant2dxf.py @@ -136,12 +136,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v # Bearbeitung der Gefälle Strecke falls dies der Fall ist if am_kreisel == 1: if hat_motor_0 == False and hat_umlenk_0 == False: - dx = halbe_laenge *math.sin(winkel * -1) - dy = halbe_laenge * math.cos(winkel) - start = x +dx, y + dy,upper_hoehe_gefaehlle - ende = x -dx, y - dy,lower_hoehe_gefaehlle - line =msp.add_line(start,ende) - line.dxf.layer = "6-SP" + Gefaehllestrecke.Gefaehllestrecke.erstehlung_von_gefalle_ohne_aussnahmen(msp, x, y, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, halbe_laenge, winkel) return #Bearbeitung der Gefällestrecke die direkt am Kreisel hängt und eine Motor- Umlenkstation besitzt else: @@ -240,10 +235,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v am_kreisel, kreisel_verbunden= as_es_methoden.am_kreisel_direct_verbunden(x, y, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, x0_kreisel, y0_kreisel, richtung_rad0, abstand0, dx, dy, x1_kreisel, y1_kreisel, richtung_rad1, abstand1) # falls beide enden direkt mit dem Kreisel verbunden sind zeichnen einfacher Linie if kreisel_verbunden == 2: - start = x +dx, y + dy,upper_hoehe_gefaehlle - ende = x -dx, y - dy,lower_hoehe_gefaehlle - line = msp.add_line(start,ende) - line.dxf.layer = "6-SP" + Gefaehllestrecke.Gefaellestrecke.erstehlung_von_gefalle_ohne_aussnahmen(msp, x, y, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, halbe_laenge, winkel) return #umbezeichnung von den geraden zu strings ob es Vertikal oder Horizontal ist @@ -279,8 +271,6 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v a.is_invisible = True #falls eine gefällestrecke nicht mit einem kreisel verbunden ist else: - - # Schauen ob die Gefällestruktur mit einer Kurve verbunden ist und deswegen ein Motor und oder eine Umlenkstation braucht block_Vario_Umlenkstation_500mm, block_Vario_Motorstation_500mm, blockname_motor_links, blockname_umlenk_links = block_methoden.rotatate_and_left_motor_umlenk(doc, lib_doc,config) hat_zusatz = Gefaehllestrecke.Gefaellestrecke.hat_motor_umlenk_station(gefaelle_objekt, gefaellestrecke_nachbarn) @@ -295,14 +285,8 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaehlle}_{hat_motor_0}_{hat_umlenk_0}_{tefkurve_0}_{hat_motor_1}_{hat_umlenk_1}_{tefkurve_1}_{umlenk_gerade}_{motor_gerade}" # behandlung der Gefällestrecke falls es keine Vario Kurve hat - if hat_motor_0 == False or hat_umlenk_0 == False or hat_motor_1 == False or hat_umlenk_1 == False: - - dx = halbe_laenge *math.sin(winkel * -1) - dy = halbe_laenge * math.cos(winkel) - start = [x , y + dy ,upper_hoehe_gefaehlle] - ende = [x , y - dy ,lower_hoehe_gefaehlle] - a= msp.add_line(start,ende) - a.dxf.layer = "6-SP" + if hat_motor_0 == None and hat_umlenk_0 == None and hat_motor_1 == None and hat_umlenk_1 == None: + Gefaehllestrecke.Gefaellestrecke.erstehlung_von_gefalle_ohne_aussnahmen(msp, x, y, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, halbe_laenge, winkel) return # Behandlung falls es mit einer odr zwei Vario kurve verbunden ist if blockname not in doc.blocks: @@ -320,8 +304,6 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v block.add_entity(line) msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer}) - - def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config,config_allgemein): """Erstellt ein Vario Förderer in der neuen Dxf""" foerderer = VarioFoerderer.VarioFoerderer.from_merkmale(teileid,x,y,merkmale)