Anpasung des Offset berechnung für antrieb Kurven

This commit is contained in:
2025-12-15 09:13:10 +01:00
parent fabed828db
commit a3163e12fe
2 changed files with 53 additions and 19 deletions
+9 -12
View File
@@ -227,7 +227,6 @@ def handle_ils_2_0_kreisel(msp, teileid, merkmale, x, y, doc, lib_doc, verbose,
Kreisel.Kreisel.draw_kreisel_lines(msp, pos1, pos2, kreisel)
Kreisel.Kreisel.draw_kreisel_drehrichtung_markierung(msp, pos1, pos2, kreisel, lib_doc, doc, verbose)
def handle_ils_2_0_eckrad(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config,config_allgemein):
"""Erstellt ein Eckrad in der neuen Dxf"""
import_block("AN8",lib_doc,doc)
@@ -680,11 +679,8 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
# für spätere Namens benenung der Vario forderer
motor_vorhanden = foerderer.hat_motor
umlenk_vorhanden = foerderer.hat_umlenk
gefahellewinkel = foerderer.gefaelle_winkel
gefaelle = foerderer.gefaelle_laenge
# Offsets für die Vario Linie für ab 3 bogen, da es in diesem Fall keine bögen hat die sich mit den nachbarn Bögen für andere Vario Förderer verbinden kann
winkel_VP_offset_vorne = None
winkel_VP_offset_hinten = None
@@ -700,7 +696,6 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
erster_kreisel_höher = False
ein_kreisel_höher = False
richtung2 ="DEFAULT"
rotation = foerderer.drehung
upper_hoehe_vario= foerderer.h1
lower_hoehe_vario = foerderer.h0
@@ -710,9 +705,12 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
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
# Hollen der Information der Nachbarn strukturen ob diese Kreisel sind
@@ -722,7 +720,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
break
laenge = foerderer.laenge
# Ausrechnung der nötigen Offset falls der Vario Förderer ab mit drei grad mit einem anderen Verbunden ist
winkel_VP_offset_vorne, winkel_VP_offset_hinten = VarioFoerderer.VarioFoerderer.get_offset_of_Vario_line(doc, lib_doc, voerder_richtung, winkel, upper_hoehe_vario, lower_hoehe_vario, gefaellestrecke_vario)
winkel_VP_offset_vorne, winkel_VP_offset_hinten = VarioFoerderer.VarioFoerderer.get_offset_of_Vario_line(doc, lib_doc,foerderer, gefaellestrecke_vario)
# Für spätere berechnung schauen ob der erste Kreis in der Liste höher ist
if upper_hoehe_vario == gefaellestrecke_vario.get("Hoehe0"):
@@ -1286,7 +1284,7 @@ def get_nachbar_information(csv_path:Path) -> dict:
kurvenrichtung = kurve_angetrieben.kurvenrichtung
tefkurve = kurve_angetrieben.antrieb
kurve_winkel = kurve_angetrieben.winkel
angetriebene_kurve.append({"Id": Id,"H0": h0,"H1":h1,"kurvenrichtung":kurvenrichtung,"Tefkurve": tefkurve,"Kurvenwinkel": kurve_winkel})
angetriebene_kurve.append({"Id": Id,"H0": h0,"H1":h1,"kurvenrichtung":kurvenrichtung,"Tefkurve": tefkurve,"Kurvenwinkel": kurve_winkel,"X_angetrieben":x,"Y_angetrieben":y})
for gerade in geraden:
anweisungen = 0
voerder_anweisung = 0
@@ -1295,6 +1293,8 @@ def get_nachbar_information(csv_path:Path) -> dict:
for foerderer in angetriebene_kurve:
if foerderer["Id"] in gerade["NachbarIds"]:
if voerder_anweisung == 0:
eintrag["X_angetrieben"] = foerderer.get("X_angetrieben")
eintrag["Y_angetrieben"] = foerderer.get("Y_angetrieben")
eintrag["vario_hoehe_0"] = foerderer.get("H0")
eintrag["vario_hoehe_1"] = foerderer.get("H1")
eintrag["Kurvenrichtung"] = foerderer.get("kurvenrichtung")
@@ -1302,6 +1302,8 @@ def get_nachbar_information(csv_path:Path) -> dict:
eintrag["Kurvenwinkel"] = foerderer.get("Kurvenwinkel")
voerder_anweisung = 1
elif voerder_anweisung ==1:
eintrag["X_angetrieben_1"] = foerderer.get("X_angetrieben")
eintrag["Y_angetrieben_1"] = foerderer.get("Y_angetrieben")
eintrag["vario_hoehe_0_1"] = foerderer.get("H0")
eintrag["vario_hoehe_1_1"] = foerderer.get("H1")
eintrag["Kurvenrichtung_1"] = foerderer.get("kurvenrichtung")
@@ -1443,17 +1445,12 @@ def main(csv_path: Path, lib_path: Path, cfg_path: Path, allgemein_cfg_path: Pat
else:
print(msg)
for insert in msp.query("INSERT"):
basepoint = insert.dxf.insert
doc.saveas(output_path)
if logger:
logger.info(f"[DONE] DXF gespeichert unter: {output_path}")
else:
print(f"[DONE] DXF gespeichert unter: {output_path}")
def check_dxflibrary_path(lib_path, verbose, logger):
lib_doc = None
if lib_path.exists():