Die höhen werden nun im 2.5 d richtig angezeigt und die linien übernehmen nun die layers
This commit is contained in:
+292
-240
@@ -283,7 +283,10 @@ def handle_standard(msp, blocknames, teileid, x, y, lib_doc, doc, verbose):
|
||||
|
||||
def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, gefaellestrecken_nachbarn,config):
|
||||
#Vorbereitung der attributen
|
||||
if "6-SP" not in doc.layers:
|
||||
doc.layers.add(name="6-SP", color=3)
|
||||
verbunden_am_einen = False
|
||||
|
||||
am_kreisel = 0
|
||||
richtung2 ="DEFAULT"
|
||||
unterschiedlich = False
|
||||
@@ -300,7 +303,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
drehung0 =gefaellestrecke_nachbarn.get("Drehung0")
|
||||
x0_kreisel = float(gefaellestrecke_nachbarn.get("x0"))
|
||||
y0_kreisel = float(gefaellestrecke_nachbarn.get("y0"))
|
||||
hoehe0 = gefaellestrecke_nachbarn.get("Hoehe0")
|
||||
hoehe0 = float(gefaellestrecke_nachbarn.get("Hoehe0"))
|
||||
richtung0 = float(gefaellestrecke_nachbarn.get("rotation0"))
|
||||
richtung_rad0= math.radians(richtung0)
|
||||
abstand0 = float(gefaellestrecke_nachbarn.get("abstand0")) * 1000
|
||||
@@ -411,47 +414,50 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
abstand_gegen_kreis_ende_y_round = ende_round[0] , ende_round[1] - RADIUS
|
||||
|
||||
|
||||
if( (abstand_fuer_kreis_start_x_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos0_0_floor[1] )or
|
||||
(abstand_fuer_kreis_start_x_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_start_x_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_start_x_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_x_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos0_0_floor[1] )or
|
||||
(abstand_fuer_kreis_ende_x_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_x_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_x_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos0_1_floor[1]) or
|
||||
if( (abstand_fuer_kreis_start_x_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_start_x_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos0_1_floor) or
|
||||
(abstand_fuer_kreis_ende_x_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_ende_x_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos0_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_0_floor[1] )or
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_0_floor[1] )or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_start_x_round[0] == pos0_0_round[0] and abstand_fuer_kreis_start_x_round[1] == pos0_0_round[1] )or
|
||||
(abstand_fuer_kreis_start_x_round[0] == pos0_1_round[0] and abstand_fuer_kreis_start_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_start_x_round[0] == pos0_0_round[0] and abstand_gegen_kreis_start_x_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_start_x_round[0] == pos0_1_round[0] and abstand_gegen_kreis_start_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_x_round[0] == pos0_0_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos0_0_round[1] )or
|
||||
(abstand_fuer_kreis_ende_x_round[0] == pos0_1_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_ende_x_round[0] == pos0_0_round[0] and abstand_gegen_kreis_ende_x_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_ende_x_round[0] == pos0_1_round[0] and abstand_gegen_kreis_ende_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_start_y_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_start_y_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos0_1_floor) or
|
||||
(abstand_fuer_kreis_ende_y_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_ende_y_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos0_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_x_round == pos0_0_round )or
|
||||
( abstand_fuer_kreis_start_x_round == pos0_1_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos0_1_round) or
|
||||
(abstand_fuer_kreis_ende_x_round == pos0_0_round)or
|
||||
( abstand_fuer_kreis_ende_x_round== pos0_1_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos0_1_round) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_0_round[1] )or
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_0_round[1] )or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_1_round[1])
|
||||
(abstand_fuer_kreis_start_y_round == pos0_0_round)or
|
||||
(abstand_fuer_kreis_start_y_round == pos0_1_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos0_0_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos0_1_round) or
|
||||
(abstand_fuer_kreis_ende_y_round == pos0_0_round)or
|
||||
( abstand_fuer_kreis_ende_y_round == pos0_1_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos0_1_round)
|
||||
):
|
||||
kreisel_verbunden = kreisel_verbunden +1
|
||||
# setzung auf kreisel 1 für spätere ausrechnung der geraden form
|
||||
am_kreisel = 1
|
||||
start = x +dx, y + dy,start_floor[2]
|
||||
ende = x -dx, y - dy,ende_floor[2]
|
||||
msp.add_line(start,ende)
|
||||
line =msp.add_line(start,ende)
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
return
|
||||
|
||||
verbunden_am_einen = True
|
||||
@@ -464,80 +470,15 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
rotation = 90
|
||||
elif gefaelle == "rechts" :
|
||||
rotation = 270
|
||||
if blockname not in doc.blocks and hight == "higher" and drehung0 == "GUZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_as = "200000241_AS-Element_90_rechts"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and hight == "lower" and drehung0 == "GUZS":
|
||||
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_es = "200000146_ES-Element_90_rechts"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset-y ,ende[2] -hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and hight == "higher" and drehung0 == "UZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_as = "200000217_AS-Element_90_links"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]),dxfattribs={"rotation": 180})
|
||||
elif blockname not in doc.blocks and hight == "lower" and drehung0 == "UZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy ,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
|
||||
block_es = "400102632_ES-Element_90_links"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2]),dxfattribs={"rotation": 180})
|
||||
bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
|
||||
bref.add_attrib(
|
||||
erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle, drehung0, laenge, hight, blockname)
|
||||
blockref_layer = get_layer(doc, lib_doc, blockname)
|
||||
bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation, "layer": blockref_layer})
|
||||
a =bref.add_attrib(
|
||||
tag= "NAME",
|
||||
text= merkmale.get("bezeichner"),
|
||||
insert = (x,y)
|
||||
)
|
||||
)
|
||||
a.is_invisible = True
|
||||
|
||||
|
||||
|
||||
@@ -548,7 +489,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
elif "Drehung0" in gefaellestrecke_nachbarn and "Drehung1" in gefaellestrecke_nachbarn:
|
||||
drehung0 =gefaellestrecke_nachbarn.get("Drehung0")
|
||||
drehung1 = gefaellestrecke_nachbarn.get("Drehung1")
|
||||
hoehe0 = gefaellestrecke_nachbarn.get("Hoehe0")
|
||||
hoehe0 = gefaellestrecke_nachbarn.get("Hoehe0")
|
||||
hoehe1 = gefaellestrecke_nachbarn.get("Hoehe1")
|
||||
x0_kreisel = float(gefaellestrecke_nachbarn.get("x0"))
|
||||
y0_kreisel = float(gefaellestrecke_nachbarn.get("y0"))
|
||||
@@ -573,18 +514,18 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
halbabstand0 = abstand0 / 2
|
||||
dx0 = halbabstand0 * math.cos(richtung_rad0)
|
||||
dy0 = halbabstand0 * math.sin(richtung_rad0)
|
||||
pos0_0_floor= (math.floor(x0_kreisel + dx0),math.floor( y0_kreisel + dy0),hoehe0)
|
||||
pos0_1_floor = (math.floor(x0_kreisel- dx0),math.floor( y0_kreisel- dy0), hoehe0)
|
||||
pos0_0_round= (round(x0_kreisel + dx0),round( y0_kreisel + dy0),hoehe0)
|
||||
pos0_1_round = (round(x0_kreisel- dx0),round( y0_kreisel- dy0), hoehe0)
|
||||
pos0_0_floor= (math.floor(x0_kreisel + dx0),math.floor( y0_kreisel + dy0))
|
||||
pos0_1_floor = (math.floor(x0_kreisel- dx0),math.floor( y0_kreisel- dy0))
|
||||
pos0_0_round= (round(x0_kreisel + dx0),round( y0_kreisel + dy0))
|
||||
pos0_1_round = (round(x0_kreisel- dx0),round( y0_kreisel- dy0))
|
||||
|
||||
halbabstand1 = abstand1 / 2
|
||||
dx1 = halbabstand1 * math.cos(richtung_rad1 )
|
||||
dy1 = halbabstand1 * math.sin(richtung_rad1)
|
||||
pos1_0_floor = (math.floor(x1_kreisel + dx1), math.floor(y1_kreisel + dy1), hoehe1)
|
||||
pos1_1_floor = (math.floor(x1_kreisel - dx1), math.floor(y1_kreisel - dy1), hoehe1)
|
||||
pos1_0_round = (round(x1_kreisel + dx1), round(y1_kreisel + dy1), hoehe1)
|
||||
pos1_1_round = (round(x1_kreisel - dx1), round(y1_kreisel - dy1), hoehe1)
|
||||
pos1_0_floor = (math.floor(x1_kreisel + dx1), math.floor(y1_kreisel + dy1))
|
||||
pos1_1_floor = (math.floor(x1_kreisel - dx1), math.floor(y1_kreisel - dy1))
|
||||
pos1_0_round = (round(x1_kreisel + dx1), round(y1_kreisel + dy1))
|
||||
pos1_1_round = (round(x1_kreisel - dx1), round(y1_kreisel - dy1))
|
||||
winkel = math.radians(float(merkmale.get("Drehung")))
|
||||
# berechnung der geraden einmal abgerunden und einmal gerunden zur negirung des offsets
|
||||
halbe_laenge = laenge / 2
|
||||
@@ -615,40 +556,41 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
|
||||
|
||||
# vergleich mit einem kreisel von zwei
|
||||
if( (abstand_fuer_kreis_start_x_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos0_0_floor[1] )or
|
||||
( abstand_fuer_kreis_start_x_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos0_1_floor[1]) or
|
||||
( abstand_gegen_kreis_start_x_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos0_0_floor[1]) or
|
||||
( abstand_gegen_kreis_start_x_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_x_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos0_0_floor[1] )or
|
||||
( abstand_fuer_kreis_ende_x_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos0_1_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_x_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos0_0_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_x_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos0_1_floor[1]) or
|
||||
if( (abstand_fuer_kreis_start_x_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_start_x_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos0_1_floor) or
|
||||
(abstand_fuer_kreis_ende_x_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_ende_x_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos0_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_0_floor[1] )or
|
||||
( abstand_fuer_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
( abstand_gegen_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_0_floor[1]) or
|
||||
( abstand_gegen_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_0_floor[1] )or
|
||||
( abstand_fuer_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_0_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_start_x_round[0] == pos0_0_round[0] and abstand_fuer_kreis_start_x_round[1] == pos0_0_round[1] )or
|
||||
( abstand_fuer_kreis_start_x_round[0] == pos0_1_round[0] and abstand_fuer_kreis_start_x_round[1] == pos0_1_round[1]) or
|
||||
( abstand_gegen_kreis_start_x_round[0] == pos0_0_round[0] and abstand_gegen_kreis_start_x_round[1] == pos0_0_round[1]) or
|
||||
( abstand_gegen_kreis_start_x_round[0] == pos0_1_round[0] and abstand_gegen_kreis_start_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_x_round[0] == pos0_0_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos0_0_round[1] )or
|
||||
( abstand_fuer_kreis_ende_x_round[0] == pos0_1_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos0_1_round[1]) or
|
||||
( abstand_gegen_kreis_ende_x_round[0] == pos0_0_round[0] and abstand_gegen_kreis_ende_x_round[1] == pos0_0_round[1]) or
|
||||
( abstand_gegen_kreis_ende_x_round[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_x_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_start_y_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_start_y_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos0_1_floor) or
|
||||
(abstand_fuer_kreis_ende_y_floor == pos0_0_floor )or
|
||||
( abstand_fuer_kreis_ende_y_floor == pos0_1_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos0_0_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos0_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_x_round == pos0_0_round )or
|
||||
( abstand_fuer_kreis_start_x_round == pos0_1_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos0_1_round) or
|
||||
(abstand_fuer_kreis_ende_x_round == pos0_0_round)or
|
||||
( abstand_fuer_kreis_ende_x_round== pos0_1_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos0_1_round) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_0_round[1] )or
|
||||
( abstand_fuer_kreis_start_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
( abstand_gegen_kreis_start_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_0_round[1]) or
|
||||
( abstand_gegen_kreis_start_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_0_round[1] )or
|
||||
( abstand_fuer_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_1_round[1]) or
|
||||
( abstand_gegen_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_0_round[1]) or
|
||||
( abstand_gegen_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_1_round[1])
|
||||
(abstand_fuer_kreis_start_y_round == pos0_0_round)or
|
||||
(abstand_fuer_kreis_start_y_round == pos0_1_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos0_0_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos0_1_round) or
|
||||
(abstand_fuer_kreis_ende_y_round == pos0_0_round)or
|
||||
( abstand_fuer_kreis_ende_y_round == pos0_1_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos0_0_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos0_1_round)
|
||||
):
|
||||
kreisel_verbunden = kreisel_verbunden +1
|
||||
# setzung auf kreisel 1 für spätere ausrechnung der geraden form
|
||||
@@ -656,44 +598,41 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
|
||||
|
||||
|
||||
if( (abstand_fuer_kreis_start_x_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos1_0_floor[1] )or
|
||||
(abstand_fuer_kreis_start_x_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_start_x_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_gegen_kreis_start_x_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos1_0_floor[1]) or
|
||||
(abstand_gegen_kreis_start_x_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_start_x_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_x_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos1_0_floor[1] )or
|
||||
(abstand_fuer_kreis_ende_x_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_ende_x_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_x_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos1_0_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_x_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_ende_x_floor[1] == pos1_1_floor[1]) or
|
||||
if( (abstand_fuer_kreis_start_x_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_start_x_floor == pos1_1_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_start_x_floor == pos1_1_floor) or
|
||||
(abstand_fuer_kreis_ende_x_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_ende_x_floor == pos1_1_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_ende_x_floor == pos1_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos1_0_floor[1] )or
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos1_0_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos1_0_floor[1] )or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos1_0_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_fuer_kreis_start_y_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_start_y_floor == pos1_1_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos1_1_floor) or
|
||||
(abstand_fuer_kreis_ende_y_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_ende_y_floor == pos1_1_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos1_1_floor) or
|
||||
|
||||
|
||||
|
||||
|
||||
(abstand_fuer_kreis_start_x_round[0] == pos1_0_round[0] and abstand_fuer_kreis_start_x_round[1] == pos1_0_round[1] )or
|
||||
(abstand_fuer_kreis_start_x_round[0] == pos1_1_round[0] and abstand_fuer_kreis_start_x_round[1] == pos1_1_round[1]) or
|
||||
(abstand_gegen_kreis_start_x_round[0] == pos1_0_round[0] and abstand_gegen_kreis_start_x_round[1] == pos1_0_round[1]) or
|
||||
(abstand_gegen_kreis_start_x_round[0] == pos1_1_round[0] and abstand_gegen_kreis_start_x_round[1] == pos1_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_x_round[0] == pos1_0_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos1_0_round[1])or
|
||||
(abstand_fuer_kreis_ende_x_round[0] == pos1_1_round[0] and abstand_fuer_kreis_ende_x_round[1] == pos1_1_round[1]) or
|
||||
(abstand_gegen_kreis_ende_x_round[0] == pos1_0_round[0] and abstand_gegen_kreis_ende_x_round[1] == pos1_0_round[1]) or
|
||||
(abstand_gegen_kreis_ende_x_round[0] == pos1_1_round[0] and abstand_gegen_kreis_ende_x_round[1] == pos1_1_round[1]) or
|
||||
(abstand_fuer_kreis_start_x_round == pos1_0_round )or
|
||||
( abstand_fuer_kreis_start_x_round == pos1_1_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos1_0_round) or
|
||||
( abstand_gegen_kreis_start_x_round == pos1_1_round) or
|
||||
(abstand_fuer_kreis_ende_x_round == pos1_0_round)or
|
||||
( abstand_fuer_kreis_ende_x_round== pos1_1_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos1_0_round) or
|
||||
( abstand_gegen_kreis_ende_x_round == pos1_1_round) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos1_0_round[0] and abstand_fuer_kreis_start_y_round[1] == pos1_0_round[1] )or
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos1_1_round[0] and abstand_fuer_kreis_start_y_round[1] == pos1_1_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos1_0_round[0] and abstand_gegen_kreis_start_y_round[1] == pos1_0_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos1_1_round[0] and abstand_gegen_kreis_start_y_round[1] == pos1_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos1_0_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos1_0_round[1] )or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos1_1_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos1_1_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos1_0_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos1_0_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos1_1_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos1_1_round[1])
|
||||
(abstand_fuer_kreis_start_y_round == pos1_0_round)or
|
||||
(abstand_fuer_kreis_start_y_round == pos1_1_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos1_0_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos1_1_round) or
|
||||
(abstand_fuer_kreis_ende_y_round == pos1_0_round)or
|
||||
( abstand_fuer_kreis_ende_y_round == pos1_1_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos1_0_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos1_1_round)
|
||||
):
|
||||
kreisel_verbunden = kreisel_verbunden +1
|
||||
am_kreisel = 2
|
||||
@@ -702,7 +641,8 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
if kreisel_verbunden == 2:
|
||||
start = x +dx, y + dy,upper_hoehe_gefaehlle
|
||||
ende = x -dx, y - dy,lower_hoehe_gefaehlle
|
||||
msp.add_line(start,ende)
|
||||
line = msp.add_line(start,ende)
|
||||
line.dxf.layer = "6-SP"
|
||||
return
|
||||
|
||||
|
||||
@@ -721,42 +661,42 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
# setzung von richtung2 auf vertikal oder horizontal je nach dem welche orientierung der kreisel hat mit dem man am kreisel verbunden ist
|
||||
if (richtung0 != richtung1 and kreisel_verbunden ==1):
|
||||
if(
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_0_floor[1])or
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_start_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_0_floor[1])or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos0_0_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_0_floor[1]) or
|
||||
(abstand_gegen_kreis_ende_y_floor[0] == pos0_1_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos0_1_floor[1]) or
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_0_round[1])or
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_start_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_start_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_0_round[1])or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos0_0_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_0_round[1]) or
|
||||
(abstand_gegen_kreis_ende_y_round[0] == pos0_1_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos0_1_round[1]) or
|
||||
(abstand_fuer_kreis_start_y_floor== pos0_0_floor)or
|
||||
(abstand_fuer_kreis_start_y_floor == pos0_1_floor) or
|
||||
(abstand_gegen_kreis_start_y_floor == pos0_0_floor) or
|
||||
(abstand_gegen_kreis_start_y_floor == pos0_1_floor) or
|
||||
(abstand_fuer_kreis_ende_y_floor == pos0_0_floor)or
|
||||
(abstand_fuer_kreis_ende_y_floor== pos0_1_floor) or
|
||||
(abstand_gegen_kreis_ende_y_floor == pos0_0_floor) or
|
||||
(abstand_gegen_kreis_ende_y_floor== pos0_1_floor) or
|
||||
(abstand_fuer_kreis_start_y_round == pos0_0_round)or
|
||||
(abstand_fuer_kreis_start_y_round == pos0_1_round) or
|
||||
(abstand_gegen_kreis_start_y_round == pos0_0_round) or
|
||||
(abstand_gegen_kreis_start_y_round== pos0_1_round) or
|
||||
(abstand_fuer_kreis_ende_y_round == pos0_0_round)or
|
||||
(abstand_fuer_kreis_ende_y_round== pos0_1_round) or
|
||||
(abstand_gegen_kreis_ende_y_round== pos0_0_round) or
|
||||
(abstand_gegen_kreis_ende_y_round == pos0_1_round) or
|
||||
|
||||
|
||||
|
||||
(abstand_fuer_kreis_start_y_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos1_0_floor[1] )or
|
||||
( abstand_fuer_kreis_start_y_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_start_y_floor[1] == pos1_1_floor[1]) or
|
||||
( abstand_gegen_kreis_start_y_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos1_0_floor[1]) or
|
||||
( abstand_gegen_kreis_start_y_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_start_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_fuer_kreis_ende_y_floor[0] == pos1_0_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos1_0_floor[1] )or
|
||||
( abstand_fuer_kreis_ende_y_floor[0] == pos1_1_floor[0] and abstand_fuer_kreis_ende_y_floor[1] == pos1_1_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_y_floor[0] == pos1_0_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos1_0_floor[1]) or
|
||||
( abstand_gegen_kreis_ende_y_floor[0] == pos1_1_floor[0] and abstand_gegen_kreis_ende_y_floor[1] == pos1_1_floor[1]) or
|
||||
(abstand_fuer_kreis_start_y_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_start_y_floor == pos1_1_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_start_y_floor == pos1_1_floor) or
|
||||
(abstand_fuer_kreis_ende_y_floor == pos1_0_floor )or
|
||||
( abstand_fuer_kreis_ende_y_floor== pos1_1_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos1_0_floor) or
|
||||
( abstand_gegen_kreis_ende_y_floor == pos1_1_floor) or
|
||||
|
||||
(abstand_fuer_kreis_start_y_round[0] == pos1_0_round[0] and abstand_fuer_kreis_start_y_round[1] == pos1_0_round[1] )or
|
||||
( abstand_fuer_kreis_start_y_round[0] == pos1_1_round[0] and abstand_fuer_kreis_start_y_round[1] == pos1_1_round[1]) or
|
||||
( abstand_gegen_kreis_start_y_round[0] == pos1_0_round[0] and abstand_gegen_kreis_start_y_round[1] == pos1_0_round[1]) or
|
||||
( abstand_gegen_kreis_start_y_round[0] == pos1_1_round[0] and abstand_gegen_kreis_start_y_round[1] == pos1_1_round[1]) or
|
||||
(abstand_fuer_kreis_ende_y_round[0] == pos1_0_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos1_0_round[1] )or
|
||||
( abstand_fuer_kreis_ende_y_round[0] == pos1_1_round[0] and abstand_fuer_kreis_ende_y_round[1] == pos1_1_round[1]) or
|
||||
( abstand_gegen_kreis_ende_y_round[0] == pos1_0_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos1_0_round[1]) or
|
||||
( abstand_gegen_kreis_ende_y_round[0] == pos1_1_round[0] and abstand_gegen_kreis_ende_y_round[1] == pos1_1_round[1])
|
||||
(abstand_fuer_kreis_start_y_round == pos1_0_round)or
|
||||
( abstand_fuer_kreis_start_y_round == pos1_1_round) or
|
||||
( abstand_gegen_kreis_start_y_round == pos1_0_round) or
|
||||
( abstand_gegen_kreis_start_y_round== pos1_1_round) or
|
||||
(abstand_fuer_kreis_ende_y_round == pos1_0_round)or
|
||||
( abstand_fuer_kreis_ende_y_round == pos1_1_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos1_0_round) or
|
||||
( abstand_gegen_kreis_ende_y_round == pos1_1_round)
|
||||
):
|
||||
richtung2= "Vertikal"
|
||||
else:
|
||||
@@ -846,10 +786,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
else:
|
||||
hight_position = "higher"
|
||||
|
||||
if richtung2 == "DEFAULT":
|
||||
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}"
|
||||
|
||||
if gefaelle == "oben":
|
||||
rotation = 0
|
||||
elif gefaelle == "unten" :
|
||||
@@ -864,19 +801,21 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
if (kreisel_verbunden == 1 and richtung2 =="DEFAULT"):
|
||||
richtung2 = richtung0
|
||||
|
||||
|
||||
gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2, am_kreisel,drehung0, drehung1, laenge, hight_position, verbunden_am_einen,blockname)
|
||||
|
||||
if richtung2 == "DEFAULT":
|
||||
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}"
|
||||
gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2,drehung0, drehung1, laenge, hight_position,blockname)
|
||||
blockref_layer = get_layer(doc, lib_doc, blockname)
|
||||
|
||||
|
||||
bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
|
||||
bref.add_attrib(
|
||||
bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation, "layer": blockref_layer })
|
||||
a = bref.add_attrib(
|
||||
tag= "NAME",
|
||||
text= merkmale.get("bezeichner"),
|
||||
insert = (x,y)
|
||||
|
||||
|
||||
)
|
||||
a.is_invisible = True
|
||||
#falls eine gefällestrecke nicht mit einem kreisel verbunden ist
|
||||
else:
|
||||
laenge_m = merkmale.get("Länge in Meter", "10").replace(",", ".")
|
||||
@@ -891,11 +830,90 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
dy = halbe_laenge * math.cos(winkel)
|
||||
start = x +dx, y + dy,upper_hoehe_gefaehlle
|
||||
ende = x -dx, y - dy,lower_hoehe_gefaehlle
|
||||
msp.add_line(start,ende)
|
||||
line = msp.add_line(start,ende)
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
def erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle, drehung0, laenge, hight, blockname):
|
||||
if blockname not in doc.blocks and hight == "higher" and drehung0 == "GUZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_as = "200000241_AS-Element_90_rechts"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and hight == "lower" and drehung0 == "GUZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_es = "200000146_ES-Element_90_rechts"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset-y ,ende[2] -hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and hight == "higher" and drehung0 == "UZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
block_as = "200000217_AS-Element_90_links"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
elif blockname not in doc.blocks and hight == "lower" and drehung0 == "UZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
start = (x , y + dy ,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
block.add_entity(copy)
|
||||
|
||||
block_es = "400102632_ES-Element_90_links"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
|
||||
def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2,am_kreisel, drehung0, drehung1, laenge, hight_position,verbunden_am_einen, blockname):
|
||||
def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2, drehung0, drehung1, laenge, hight_position, blockname):
|
||||
#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
|
||||
if upper_hoehe_gefaehlle < lower_hoehe_gefaehlle:
|
||||
middle_hoehe = upper_hoehe_gefaehlle
|
||||
upper_hoehe_gefaehlle = lower_hoehe_gefaehlle
|
||||
lower_hoehe_gefaehlle = middle_hoehe
|
||||
|
||||
if richtung2!= "DEFAULT":
|
||||
if blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS" and hight_position == "higher" :
|
||||
|
||||
@@ -903,9 +921,11 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -919,9 +939,11 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -935,9 +957,11 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy ,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -945,15 +969,18 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
|
||||
block_es = "400102632_ES-Element_90_links"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
block.add_blockref(block_es,(ende[0]-x ,ende[1]-esoffset -y,ende[2]), dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_es,(ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle), dxfattribs={"rotation": 180})
|
||||
elif blockname not in doc.blocks and (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower"):
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -961,7 +988,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_as = "200000241_AS-Element_90_rechts"
|
||||
|
||||
import_block(block_as,lib_doc,doc)
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]))
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and drehung0 == "UZS" and drehung1 == "UZS" and hight_position == "higher":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
@@ -970,6 +997,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
start = (x , y + dy ,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -980,16 +1009,19 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
|
||||
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
elif blockname not in doc.blocks and drehung0 == "UZS" and drehung1 == "UZS":
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -997,7 +1029,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_as = "200000217_AS-Element_90_links"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
|
||||
elif blockname not in doc.blocks and ((drehung0 == "UZS" and drehung1 == "GUZS" and hight_position== "higher")):
|
||||
@@ -1005,9 +1037,13 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -1016,7 +1052,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_es = "200000146_ES-Element_90_rechts"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2]))
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle))
|
||||
elif blockname not in doc.blocks and (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower"):
|
||||
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
|
||||
halbe_laenge = laenge / 2
|
||||
@@ -1025,6 +1061,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy ,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -1032,7 +1070,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_as = "200000217_AS-Element_90_links"
|
||||
import_block(block_as,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
#erstellung von den normalen gefällestrecken
|
||||
else:
|
||||
if blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS" :
|
||||
@@ -1040,9 +1078,12 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -1062,6 +1103,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x,-y,-hoehe_gefaehlle)
|
||||
@@ -1070,8 +1113,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
import_block(block_as,lib_doc,doc)
|
||||
block_es = "400102632_ES-Element_90_links"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]))
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]- esoffset-y,ende[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle))
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]- esoffset-y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
|
||||
elif blockname not in doc.blocks and drehung0 == "UZS" and drehung1 == "UZS":
|
||||
@@ -1079,9 +1122,12 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -1091,9 +1137,9 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_es = "400102632_ES-Element_90_links"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle) ,dxfattribs={"rotation": 180})
|
||||
|
||||
|
||||
elif blockname not in doc.blocks and ((drehung0 == "UZS" and drehung1 == "GUZS" and hight_position== "higher")or (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")):
|
||||
@@ -1101,9 +1147,12 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
halbe_laenge = laenge / 2
|
||||
|
||||
dy = halbe_laenge * math.cos(0)
|
||||
|
||||
start = (x , y + dy - asoffset,upper_hoehe_gefaehlle)
|
||||
ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle)
|
||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||
line.dxf.layer = "6-SP"
|
||||
|
||||
copy= line.copy()
|
||||
|
||||
copy.translate(-x ,-y,-hoehe_gefaehlle)
|
||||
@@ -1113,9 +1162,9 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh
|
||||
block_es = "200000146_ES-Element_90_rechts"
|
||||
import_block(block_es,lib_doc,doc)
|
||||
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2]),dxfattribs={"rotation": 180})
|
||||
block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180})
|
||||
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2]))
|
||||
block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle))
|
||||
|
||||
def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, gefaellestrecken_nachbarn,config):
|
||||
"""
|
||||
@@ -1182,7 +1231,10 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols,
|
||||
|
||||
|
||||
def get_layer(doc, lib_doc, blockname):
|
||||
src = lib_doc.blocks[blockname]
|
||||
if blockname in lib_doc.blocks:
|
||||
src = lib_doc.blocks[blockname]
|
||||
else:
|
||||
src = doc.blocks[blockname]
|
||||
try:
|
||||
used_layer_names = {e.dxf.layer for e in src if hasattr(e.dxf, "layer")}
|
||||
for layer_name in used_layer_names:
|
||||
|
||||
Reference in New Issue
Block a user