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)