From a2fc823341885d1e65f6888f8c2b8884acb26fef Mon Sep 17 00:00:00 2001
From: Paul Wolok
Date: Wed, 21 Jan 2026 16:04:04 +0100
Subject: [PATCH] Refactoren und Kommentieren
---
lib/Elemente/Omniflo.py | 2 ++
lib/as_es_methoden.py | 18 ++++++++++++++++--
lib/plant2dxf.py | 38 +++++++++-----------------------------
3 files changed, 27 insertions(+), 31 deletions(-)
diff --git a/lib/Elemente/Omniflo.py b/lib/Elemente/Omniflo.py
index 8dc81f6..4a04fa7 100644
--- a/lib/Elemente/Omniflo.py
+++ b/lib/Elemente/Omniflo.py
@@ -52,6 +52,7 @@ class Omniflo(BaseModel):
h1 = h1
)
def Omniflo_geraden_erstellung(msp, x, y, doc, tefsivas, omniflo_objekt):
+ """Erstellung der Tef gerade und Omniflo gerade"""
winkel_rad = math.radians(omniflo_objekt.drehung)
halbe_laenge = omniflo_objekt.laenge / 2
# Man muss bei sin -1 machen wegen des links koordinaten system
@@ -69,6 +70,7 @@ class Omniflo(BaseModel):
else:
linie.dxf.layer = "A-2"
def omniflo_foerdererstellung(msp, x, y, doc, lib_doc, omniflo_objekt, rotation):
+ """"Erstellung des Kettenförderers aktuell nur grundriss"""
block_methoden.import_block("bogen1",lib_doc,doc)
block_methoden.import_block("bogen2",lib_doc,doc)
diff --git a/lib/as_es_methoden.py b/lib/as_es_methoden.py
index 8930613..d555999 100644
--- a/lib/as_es_methoden.py
+++ b/lib/as_es_methoden.py
@@ -4,7 +4,21 @@ import plant2dxf
import block_methoden
RADIUS = 400
+def vertausch_der_höhe(objekt, upper_hoehe_objekt, lower_hoehe_objekt, rotation):
+ """Vertausch der Höhen, für ausrechnung blöcke mit as elemente oder andere Berücksichtigungen"""
+ if upper_hoehe_objekt < lower_hoehe_objekt:
+ hoehe2 = upper_hoehe_objekt
+ upper_hoehe_objekt = lower_hoehe_objekt
+ objekt.h1 = upper_hoehe_objekt
+ lower_hoehe_objekt = hoehe2
+ objekt.h0 = lower_hoehe_objekt
+ rotation = rotation -180
+ objekt.drehung = rotation
+ objekt.h1 = upper_hoehe_objekt
+ objekt.h0 = lower_hoehe_objekt
+ return upper_hoehe_objekt,lower_hoehe_objekt,rotation
def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle, drehung0, laenge,blockname,config, hight = None, block_vario = None, vario_richtung = None, verbunden_höher = None,gefaelle_block=None,start = None,ende = None,mit_horizontal_verbunden = None,as_es_rotation= None):
+ """Tut ein as/es element in den Block für gefällestrecken wird auch überprüft ob nur ein as es element vorhanden ist"""
halbe_laenge = laenge / 2
dy = halbe_laenge * math.cos(0)
asoffset = float(config.get("ILS 2.0 Gefällestrecke", "asoffset"))
@@ -95,8 +109,7 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
return True
def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2, drehung0, drehung1, laenge, hight_position, blockname,config, block_vario = None,voerder_richtung = None, am_kreisel = None, erster_kreisel_höher = None,y1=None,z1 =None):
- #erstellung des blockes falls die gefaelle strecke mit einem kreisel verbunden ist, mehrere variation von selben weil diese nötig sind sobald man die richtigen inserts bekommen
-
+ """erstellung des blockes falls die gefaelle strecke mit einem kreisel verbunden ist, mehrere variation von selben weil diese nötig sind sobald man die richtigen inserts bekommen"""
asoffset = float(config.get("ILS 2.0 Gefällestrecke", "asoffset"))
esoffset = float(config.get("ILS 2.0 Gefällestrecke", "esoffset"))
winkel_as = float(config.get("Ils 2.0 core winkel", "winkel_as"))
@@ -276,6 +289,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
def 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,kreisel_verbunden= None, richtung0 = None, richtung1 = None, richtung2 = None):
+ """Schaut ob das Element direkt am Kreisle Kopf hängt"""
if kreisel_verbunden == None:
kreisel_verbunden = 0
unterschiedlich = False
diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py
index b29ae67..dddaf93 100644
--- a/lib/plant2dxf.py
+++ b/lib/plant2dxf.py
@@ -132,15 +132,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
abstand0 = float(gefaellestrecke_nachbarn.get("abstand0")) * 1000
#Austauch der höhen und dementsprechende Koorekur falls nötig, dieser Schritt ist notwendig für die Konsistzenz der Blockerstellung
- if upper_hoehe_gefaehlle < lower_hoehe_gefaehlle:
- hoehe2 = upper_hoehe_gefaehlle
- upper_hoehe_gefaehlle = lower_hoehe_gefaehlle
- gefaelle_objekt.h1 = upper_hoehe_gefaehlle
- lower_hoehe_gefaehlle = hoehe2
- gefaelle_objekt.h0 = lower_hoehe_gefaehlle
- rotation = rotation -180
- gefaelle_objekt.drehung = rotation
-
+ upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, rotation = as_es_methoden.vertausch_der_höhe(gefaelle_objekt, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, rotation)
# Übrerprüfung ob die Gefällestrecke einen Motor oder Umlenkstation braucht, wenn es mit einer angetriebenen Kurve verbunden ist
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)
@@ -301,15 +293,8 @@ 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:
- rotation= float(merkmale.get("Drehung"))
- if upper_hoehe_gefaehlle < lower_hoehe_gefaehlle:
- hoehe2 = upper_hoehe_gefaehlle
- upper_hoehe_gefaehlle = lower_hoehe_gefaehlle
- gefaelle_objekt.h1 = upper_hoehe_gefaehlle
- lower_hoehe_gefaehlle = hoehe2
- gefaelle_objekt.h0 = lower_hoehe_gefaehlle
- rotation = rotation -180
- gefaelle_objekt.drehung = rotation
+
+
# 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)
@@ -325,6 +310,7 @@ 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]
@@ -334,6 +320,8 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
return
# Behandlung falls es mit einer odr zwei Vario kurve verbunden ist
if blockname not in doc.blocks:
+ rotation= float(merkmale.get("Drehung"))
+ upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, rotation = as_es_methoden.vertausch_der_höhe(gefaelle_objekt, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, rotation)
block = doc.blocks.new(name=blockname,base_point = (0,0,0))
dy = halbe_laenge * math.cos(0)
start = [x , y + dy ,upper_hoehe_gefaehlle]
@@ -347,7 +335,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
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)
@@ -376,16 +364,8 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
lower_hoehe_vario = foerderer.h0
hoehe_vario= foerderer.hight_zwischen
anzahl_seperatoren_oder_scan(msp, x, y, doc, lib_doc, foerderer, hoehe_vario, rotation)
- # Umstellung der Höhen falls nötig für die Konsistenz der spätere Erstellung, ist nur notwendig für ab Vario Förderer
- if upper_hoehe_vario< lower_hoehe_vario:
- hight = upper_hoehe_vario
- upper_hoehe_vario = lower_hoehe_vario
- foerderer.h1 = upper_hoehe_vario
- lower_hoehe_vario = hight
- foerderer.h0 = lower_hoehe_vario
- # Korrektur der rotation mit der Umstellung der Höhe
- rotation = rotation -180
- foerderer.drehung = rotation
+ upper_hoehe_vario, lower_hoehe_vario, rotation = as_es_methoden.vertausch_der_höhe(foerderer, upper_hoehe_vario, lower_hoehe_vario, rotation)
+
# Hollen der Information der Nachbarn strukturen ob diese Kreisel sind
for nachbarn in strecken_nachbarn:
if teileid == nachbarn.get("Id"):