refactoren einfügen von scanner und separtor zu Omniflogerade
This commit is contained in:
+17
-12
@@ -97,10 +97,9 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
doc.layers.add(name="6-SP", color=7)
|
||||
gefaelle_layer = "6-SP"
|
||||
verbunden_am_einen = False
|
||||
|
||||
richtung2 ="DEFAULT"
|
||||
unterschiedlich = False
|
||||
anzahl_seperatoren_oder_scan(msp, x, y, doc, lib_doc, gefaelle_objekt, hoehe_gefaehlle, rotation)
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, gefaelle_objekt)
|
||||
for nachbarn in strecken_nachbarn:
|
||||
if teileid == nachbarn.get("Id"):
|
||||
gefaellestrecke_nachbarn = nachbarn
|
||||
@@ -264,7 +263,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}_{drehung0}_{drehung1}_{hight_position}_{verbunden_am_einen}"
|
||||
else:
|
||||
blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaehlle}_{drehung0}_{drehung1}_{hight_position}_{unterschiedlich}_{richtung2}_{verbunden_am_einen}"
|
||||
as_es_methoden.gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2,drehung0, drehung1, laenge, hight_position,blockname,config)
|
||||
as_es_methoden.gefaellegerade_erstellung(gefaelle_objekt, doc, lib_doc,richtung2,drehung0, drehung1, hight_position,blockname,config)
|
||||
bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation, "layer": gefaelle_layer})
|
||||
a = bref.add_attrib(
|
||||
tag= "NAME",
|
||||
@@ -337,7 +336,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
upper_hoehe_vario= foerderer.h1
|
||||
lower_hoehe_vario = foerderer.h0
|
||||
hoehe_vario= foerderer.hight_zwischen
|
||||
anzahl_seperatoren_oder_scan(msp, x, y, doc, lib_doc, foerderer, hoehe_vario, rotation)
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, foerderer)
|
||||
as_es_methoden.vertausch_der_höhe(foerderer)
|
||||
upper_hoehe_vario = foerderer.h1
|
||||
lower_hoehe_vario = foerderer.h0
|
||||
@@ -364,7 +363,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
ein_kreisel_höher = True
|
||||
else:
|
||||
ein_kreisel_höher = False
|
||||
mit_horizontal_verbunden = VarioFoerderer.VarioFoerderer.horizontale_ausrichtung(x, y, voerder_richtung, rotation, x0_eckrad, y0_eckrad)
|
||||
mit_horizontal_verbunden = VarioFoerderer.VarioFoerderer.horizontale_ausrichtung(foerderer, x0_eckrad, y0_eckrad)
|
||||
blockname = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_rechts_{ein_kreisel_höher}_{motor_vorhanden}_{umlenk_vorhanden}_{gefaelle}_{gefahellewinkel}_{mit_horizontal_verbunden}")
|
||||
block_name_links = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_links_{ein_kreisel_höher}_{motor_vorhanden}_{umlenk_vorhanden}_{gefaelle}_{gefahellewinkel}_{mit_horizontal_verbunden}")
|
||||
if blockname not in doc.blocks:
|
||||
@@ -418,7 +417,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
richtung0 = float(gefaellestrecke_vario.get("rotation0"))
|
||||
richtung_rad0= math.radians(richtung0)
|
||||
|
||||
mit_horizontal_verbunden = VarioFoerderer.VarioFoerderer.horizontale_ausrichtung(x, y, voerder_richtung, rotation, x0_kreisel, y0_kreisel)
|
||||
mit_horizontal_verbunden = VarioFoerderer.VarioFoerderer.horizontale_ausrichtung(foerderer, x0_kreisel, y0_kreisel)
|
||||
am_kreisel,kreseil_verbunden =as_es_methoden.am_kreisel_direct_verbunden(x, y, upper_hoehe_vario, lower_hoehe_vario, x0_kreisel, y0_kreisel, richtung_rad0, abstand0, dx, dy, None, None, None, None )
|
||||
if am_kreisel == 1:
|
||||
# Erstellung der blockname für wenn die Motorstation rechts und links
|
||||
@@ -565,7 +564,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
|
||||
# Schauen welche es oder as element man braucht man braucht und diese in den block einfügen
|
||||
# Entnehmen von start und end Werte für spätere vario erstellung
|
||||
start, ende = as_es_methoden.gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_vario, lower_hoehe_vario, hoehe_vario,richtung2, drehung0, drehung1, laenge, None, blockname,config,block_vario,voerder_richtung, am_kreisel,erster_kreisel_höher,y1,z1)
|
||||
start, ende = as_es_methoden.gefaellegerade_erstellung(foerderer, doc, lib_doc,richtung2, drehung0, drehung1, None, blockname,config,block_vario, am_kreisel,erster_kreisel_höher,y1,z1)
|
||||
# Erstellung der Vario gefälle selber
|
||||
VarioFoerderer.VarioFoerderer.vario_erstellung(foerderer, doc, lib_doc, config, block_vario,block_name_links, start, ende,voerder_richtung ,winkel_VP_offset_vorne,winkel_VP_offset_hinten)
|
||||
# Reintuen des endblockes in den Modelspace
|
||||
@@ -593,7 +592,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
# Schauen welche es oder as element man braucht man braucht und diese in den block einfügen
|
||||
# Entnehmen von start und end Werte für spätere vario erstellung
|
||||
|
||||
start, ende = as_es_methoden.gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_vario, lower_hoehe_vario, hoehe_vario,richtung2, drehung0, drehung1, laenge, None, blockname,config,block_vario,voerder_richtung)
|
||||
start, ende = as_es_methoden.gefaellegerade_erstellung(foerderer, doc, lib_doc,richtung2, drehung0, drehung1, None, blockname,config,block_vario)
|
||||
# Erstellung des Vario selber
|
||||
VarioFoerderer.VarioFoerderer.vario_erstellung(foerderer, doc, lib_doc, config, block_vario,block_name_links, start, ende,voerder_richtung,winkel_VP_offset_vorne,winkel_VP_offset_hinten )
|
||||
# Reintuen des endblockes in den Modelspace
|
||||
@@ -689,10 +688,12 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols,
|
||||
omniflo_objekt = Omniflo.Omniflo.from_merkmale(teileid,x,y,merkmale)
|
||||
rotation = omniflo_objekt.drehung
|
||||
if omniflo_objekt.sivasnummer == omnisivas or omniflo_objekt.sivasnummer == tefsivas:
|
||||
Omniflo.Omniflo.Omniflo_geraden_erstellung(msp, x, y, doc, tefsivas, omniflo_objekt)
|
||||
|
||||
Omniflo.Omniflo.Omniflo_geraden_erstellung(msp, doc, tefsivas, omniflo_objekt)
|
||||
if omniflo_objekt.sivasnummer == omnisivas:
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, omniflo_objekt)
|
||||
elif omniflo_objekt.sivasnummer == foerderer:
|
||||
Omniflo.Omniflo.omniflo_foerdererstellung(msp, x, y, doc, lib_doc, omniflo_objekt, rotation)
|
||||
Omniflo.Omniflo.omniflo_foerdererstellung(msp, doc, lib_doc, omniflo_objekt)
|
||||
return
|
||||
# Sonst wie gehabt: Block mit SivasNummer
|
||||
else:
|
||||
if not lib_doc:
|
||||
@@ -710,10 +711,14 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols,
|
||||
layer, color = block_methoden.get_insert_color_layer(lib_doc, omniflo_objekt.sivasnummer)
|
||||
msp.add_blockref(blockname, (x, y,omniflo_objekt.hoehe), dxfattribs={"rotation": rotation,"layer": layer, "color": color})
|
||||
|
||||
def anzahl_seperatoren_oder_scan(msp, x, y, doc, lib_doc, klassen_objekt, hoehe, rotation):
|
||||
def anzahl_seperatoren_oder_scan(msp, doc, lib_doc, klassen_objekt):
|
||||
"""Importiert alle seperatoren und/oder scanner für das nötige objekt"""
|
||||
separatoren = klassen_objekt.anzahl_separatoren
|
||||
scanner = klassen_objekt.anzahl_scanner
|
||||
x = klassen_objekt.x
|
||||
y = klassen_objekt.y
|
||||
hoehe =klassen_objekt.hight_zwischen
|
||||
rotation = klassen_objekt.drehung
|
||||
# Schauen welche Ausrichtung das Objekt hat, damit man die Separtoren unbd Scanner nicht in das Objekt tut
|
||||
if rotation == 0 or rotation == -180:
|
||||
ausrichtung = "V"
|
||||
|
||||
Reference in New Issue
Block a user