Anpasung des Offset berechnung für antrieb Kurven
This commit is contained in:
@@ -60,9 +60,14 @@ class VarioFoerderer(BaseModel):
|
||||
anzahl_separatoren = int(merkmale.get("Anzahl der Separatoren"))
|
||||
|
||||
)
|
||||
def get_offset_of_Vario_line(doc, lib_doc, voerder_richtung, winkel, upper_hoehe_vario, lower_hoehe_vario, gefaellestrecke_vario):
|
||||
def get_offset_of_Vario_line(doc, lib_doc, foerderer, gefaellestrecke_vario):
|
||||
winkel_VP_offset_vorne = None
|
||||
winkel_VP_offset_hinten = None
|
||||
voerder_richtung = foerderer.foerderer_richtung
|
||||
winkel = int(foerderer.winkel)
|
||||
rotation = foerderer.drehung
|
||||
upper_hoehe_vario= foerderer.h1
|
||||
lower_hoehe_vario = foerderer.h0
|
||||
if (gefaellestrecke_vario.get("Winkel") != None or gefaellestrecke_vario.get("Kurvenrichtung") != None) and ((winkel == 3 and voerder_richtung == "Ab")or voerder_richtung == "Horizontal"):
|
||||
# Überprüfung wo es verbunden ist und mit welchen fördere vorne ist ende der Fahrrichtung
|
||||
if gefaellestrecke_vario.get("h0") != None :
|
||||
@@ -121,10 +126,27 @@ class VarioFoerderer(BaseModel):
|
||||
VP_0_nachbar = list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_VP_0"]))
|
||||
SP_1_nachbar = list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_SP_1"]))
|
||||
VP_1_nachbar= list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_VP_1"]))
|
||||
if float(gefaellestrecke_vario.get("vario_hoehe_1")) == lower_hoehe_vario:
|
||||
winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
if voerder_richtung == "Ab":
|
||||
if float(gefaellestrecke_vario.get("vario_hoehe_1")) == lower_hoehe_vario:
|
||||
winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_0_nachbar[0] -VP_0_nachbar[0] ),0,(SP_0_nachbar[2] - VP_0_nachbar[2] )
|
||||
x_angetrieben = gefaellestrecke_vario.get("X_angetrieben")
|
||||
y_angetrieben = gefaellestrecke_vario.get("Y_angetrieben")
|
||||
x = foerderer.x
|
||||
y = foerderer.y
|
||||
rotation_zwischen = rotation
|
||||
if rotation_zwischen == 0.0:
|
||||
rotation_zwischen = -360.0
|
||||
if (((-360.0<= rotation_zwischen< -270.0)and y > y_angetrieben) or ((-90.0< rotation< 0.0)and y > y_angetrieben) or
|
||||
((-270.0< rotation_zwischen< -90.0)and y < y_angetrieben) or
|
||||
(rotation == -90.0 and x < x_angetrieben) or ((rotation == -270.0)and x<x_angetrieben)):
|
||||
winkel_VP_offset_hinten = winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
|
||||
|
||||
|
||||
# Das gleiche falls der 3 grad Förderer mit zwei Förderer Verbunden ist
|
||||
if (gefaellestrecke_vario.get("Winkel_2") != None or gefaellestrecke_vario.get("Kurvenrichtung_1") != None) and ((winkel == 3 and voerder_richtung == "Ab")or voerder_richtung == "Horizontal"):
|
||||
@@ -185,10 +207,25 @@ class VarioFoerderer(BaseModel):
|
||||
VP_0_nachbar = list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_VP_0"]))
|
||||
SP_1_nachbar = list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_SP_1"]))
|
||||
VP_1_nachbar= list(float(att)for att in re.split(r"[;,]", att_kurve["DELTA_VP_1"]))
|
||||
if float(gefaellestrecke_vario.get("vario_hoehe_1_1")) == lower_hoehe_vario:
|
||||
winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
if voerder_richtung == "Ab":
|
||||
if float(gefaellestrecke_vario.get("vario_hoehe_1")) == lower_hoehe_vario:
|
||||
winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_0_nachbar[0] -VP_0_nachbar[0] ),0,(SP_0_nachbar[2] - VP_0_nachbar[2] )
|
||||
x_angetrieben = gefaellestrecke_vario.get("X_angetrieben")
|
||||
y_angetrieben = gefaellestrecke_vario.get("Y_angetrieben")
|
||||
x = foerderer.x
|
||||
y = foerderer.y
|
||||
rotation_zwischen = rotation
|
||||
if rotation_zwischen == 0.0:
|
||||
rotation_zwischen = -360.0
|
||||
if (((-360.0<= rotation_zwischen< -270.0)and y > y_angetrieben) or ((-90.0< rotation< 0.0)and y > y_angetrieben) or
|
||||
((-270.0< rotation_zwischen< -90.0)and y < y_angetrieben) or
|
||||
(rotation == -90.0 and x < x_angetrieben) or ((rotation == -270.0)and x<x_angetrieben)):
|
||||
winkel_VP_offset_hinten = winkel_VP_offset_hinten = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
else:
|
||||
winkel_VP_offset_vorne = (SP_1_nachbar[0] -VP_1_nachbar[0] ),0,( SP_1_nachbar[2]- VP_1_nachbar[2])
|
||||
|
||||
return winkel_VP_offset_vorne,winkel_VP_offset_hinten
|
||||
def vario_erstellung(foerderer, doc, lib_doc, config, block, block_name_links, start, ende, voerder_richtung, winkel_VP_offset_vorne, winkel_VP_offset_hinten ):
|
||||
|
||||
Reference in New Issue
Block a user