Refactoren und Kommentieren

This commit is contained in:
2026-01-21 16:04:04 +01:00
parent 3e4103c6f8
commit a2fc823341
3 changed files with 27 additions and 31 deletions
+2
View File
@@ -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)
+16 -2
View File
@@ -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
+9 -29
View File
@@ -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"):