diff --git a/cfg/shapes.cfg b/cfg/shapes.cfg index a5d7570..9615172 100644 --- a/cfg/shapes.cfg +++ b/cfg/shapes.cfg @@ -19,62 +19,111 @@ esoffset = 479.95 Umlenkstation = 499.3148,0,26.1680 -Vario_Bogen_auf_51_Delta_SP_0_aufwaerts= 629.34, 0, 32.98 -Vario_Bogen_auf_51_Delta_SP_1_aufwaerts = 433.90, 0, 481.89 +Vario_Bogen_auf_51_Delta_SP_0= 629.34, 0, 32.98 +Vario_Bogen_auf_51_Delta_SP_1 = 433.90, 0, 481.89 -Vario_Bogen_ab_51_Delta_SP_0_aufwaerts = 408.68, 0, 453.89 -Vario_Bogen_ab_51_Delta_SP_1_aufwaerts =591.71, 0, 31.01 +Vario_Bogen_ab_51_Delta_SP_0 = 408.68, 0, 453.89 +Vario_Bogen_ab_51_Delta_SP_1 =591.71, 0, 31.01 -Vario_Bogen_auf_51_Delta_VP_1_aufwaerts = 30.77, 51.3653,28.59 -Vario_Bogen_ab_51_Delta_VP_0_aufwaerts = 32.97,51.3653,26.6341 +Vario_Bogen_auf_51_Delta_VP_1 = 30.77, 51.3653,28.59 +Vario_Bogen_ab_51_Delta_VP_0 = 32.97,51.3653,26.6341 -Vario_Bogen_auf_39_Delta_SP_0_aufwaerts= 489.1281, 0, 25.6341 -Vario_Bogen_auf_39_Delta_SP_1_aufwaerts = 358.3992, 0, 260.3923 +Vario_Bogen_ab_45_Delta_SP_0 = 438.6149, 0, 75.3228 +Vario_Bogen_ab_45_Delta_SP_1 =293.89, 0, 326.4 -Vario_Bogen_ab_39_Delta_SP_0_aufwaerts = 335.7703, 0, 243.9534 -Vario_Bogen_ab_39_Delta_SP_1_aufwaerts =461.1878, 0, 24.1747 +Vario_Bogen_auf_45_Delta_SP_0 = 471.2929, 0, 24.6994 +Vario_Bogen_auf_45_Delta_SP_1 =315.7893, 0, 350.7195 -Vario_Bogen_auf_39_Delta_VP_1_aufwaerts = 335.3992, 51.3653, 35.5535 -Vario_Bogen_ab_39_Delta_VP_0_aufwaerts = 364.86,51.3653,25.6341 +Vario_Bogen_auf_39_Delta_SP_0= 489.1281, 0, 25.6341 +Vario_Bogen_auf_39_Delta_SP_1 = 358.3992, 0, 260.3923 + +Vario_Bogen_ab_39_Delta_SP_0 = 335.7703, 0, 243.9534 +Vario_Bogen_ab_39_Delta_SP_1 =461.1878, 0, 24.1747 + +Vario_Bogen_auf_39_Delta_VP_1 = 335.3992, 51.3653, 35.5535 +Vario_Bogen_ab_39_Delta_VP_0 = 364.86,51.3653,25.6341 + +Vario_Bogen_ab_33_Delta_SP_0 = 464.52, 0, 76.86 +Vario_Bogen_ab_33_Delta_SP_1 = 331.83, 0, 241.09 + +Vario_Bogen_auf_33_Delta_SP_0 = 487.8932, 0, 25.5694 +Vario_Bogen_auf_33_Delta_SP_1 = 350.7617, 0, 254.8433 + +Vario_Bogen_auf_33_Delta_VP_1 = 335.3992, 51.3653, 35.5535 +Vario_Bogen_ab_33_Delta_VP_0 = 364.86,51.3653,25.6341 -Vario_Bogen_auf_27_Delta_SP_0_aufwaerts =320.5894, 0, 16.8014 -Vario_Bogen_auf_27_Delta_SP_1_aufwaerts = 262.5433,0,116.8918 +Vario_Bogen_auf_27_Delta_SP_0 =320.5894, 0, 16.8014 +Vario_Bogen_auf_27_Delta_SP_1= 262.5433,0,116.8918 -Vario_Bogen_ab_27_Delta_SP_0_aufwaerts =245.2168, 0, 109.1776 -Vario_Bogen_ab_27_Delta_SP_1_aufwaerts = 301.6492,0,15.8088 +Vario_Bogen_ab_27_Delta_SP_0 =245.2168, 0, 109.1776 +Vario_Bogen_ab_27_Delta_SP_1 = 301.6492,0,15.8088 -Vario_Bogen_auf_27_Delta_VP_1_aufwaerts = 15.4583, 50, 38.66 -Vario_Bogen_ab_27_Delta_VP_0_aufwaerts = 18.928,50, 37.988 +Vario_Bogen_auf_27_Delta_VP_1 = 15.4583, 50, 38.66 +Vario_Bogen_ab_27_Delta_VP_0= 18.928,50, 37.988 -Vario_Bogen_auf_18_Delta_SP_0_aufwaerts = 301.4561, 0,15.7986 -Vario_Bogen_auf_18_Delta_SP_1_aufwaerts = 291.5838, 0,78.1296 +Vario_Bogen_ab_21_Delta_SP_0 =308.9830, 0,68.5291 +Vario_Bogen_ab_21_Delta_SP_1 = 243.2899,0,108.3196 -Vario_Bogen_ab_18_Delta_SP_0_aufwaerts = 279.4978, 0,74.8912 -Vario_Bogen_ab_18_Delta_SP_1_aufwaerts = 288.9608, 0,15.1438 - - -Vario_Bogen_auf_18_Delta_VP_1_aufwaerts = 11.62, 50, 40.37 -Vario_Bogen_ab_18_Delta_VP_0_aufwaerts = 10.53,50, 40.59 - - -Vario_Bogen_auf_15_Delta_SP_0_aufwaerts = 149.7944, 0,7.8504 -Vario_Bogen_auf_15_Delta_SP_1_aufwaerts = 146.7221, 0,31.1868 - -Vario_Bogen_ab_15_Delta_SP_0_aufwaerts = 136.55, 0,29.02 -Vario_Bogen_ab_15_Delta_SP_1_aufwaerts = 139.41, 0,7.31 - -Vario_Bogen_auf_15_Delta_VP_1_aufwaerts = 8.28, 50, 41.18 -Vario_Bogen_ab_15_Delta_VP_0_aufwaerts = 9.15,50, 40.99 - -Vario_Bogen_auf_12_Delta_SP_0_aufwaerts = 149.7944, 0,7.8504 -Vario_Bogen_auf_12_Delta_SP_1_aufwaerts = 148.1533, 0,23.4652 - -Vario_Bogen_ab_12_Delta_SP_0_aufwaerts = 139.95, 0,22.17 -Vario_Bogen_ab_12_Delta_SP_1_aufwaerts = 141.5026, 0,7.4158 - -Vario_Bogen_auf_12_Delta_VP_1_aufwaerts = 5.5, 50, 41.49 -Vario_Bogen_ab_12_Delta_VP_0_aufwaerts = 7.23,50, 41.38 +Vario_Bogen_auf_21_Delta_SP_0 =323.6047, 0, 16.9594 +Vario_Bogen_auf_21_Delta_SP_1= 256.67,0,114.27 +Vario_Bogen_auf_18_Delta_SP_0 = 301.4561, 0,16.96 +Vario_Bogen_auf_18_Delta_SP_1 = 291.5838, 0,78.1296 + +Vario_Bogen_ab_18_Delta_SP_0 = 279.4978, 0,74.8912 +Vario_Bogen_ab_18_Delta_SP_1 = 288.9608, 0,15.1438 + + +Vario_Bogen_auf_18_Delta_VP_1 = 11.62, 50, 40.37 +Vario_Bogen_ab_18_Delta_VP_0 = 10.53,50, 40.59 + + +Vario_Bogen_auf_15_Delta_SP_0 = 149.7944, 0,7.8504 +Vario_Bogen_auf_15_Delta_SP_1= 146.7221, 0,31.1868 + +Vario_Bogen_ab_15_Delta_SP_0 = 136.55, 0,29.02 +Vario_Bogen_ab_15_Delta_SP_1 = 139.41, 0,7.31 + +Vario_Bogen_auf_15_Delta_VP_1 = 8.28, 50, 41.18 +Vario_Bogen_ab_15_Delta_VP_0 = 9.15,50, 40.99 + +Vario_Bogen_auf_12_Delta_SP_0_auf= 149.7944, 0,7.8504 +Vario_Bogen_auf_12_Delta_SP_1_auf = 148.1533, 0,23.4652 + +Vario_Bogen_ab_12_Delta_SP_0_auf = 139.95, 0,22.17 +Vario_Bogen_ab_12_Delta_SP_1_auf = 141.5026, 0,7.4158 + +Vario_Bogen_auf_12_Delta_VP_1_auf= 5.5, 50, 41.49 +Vario_Bogen_ab_12_Delta_VP_0_auf = 7.23,50, 41.38 + +Vario_Bogen_ab_12_Delta_SP_0_ab = 141.5026, 0,59.7518 +Vario_Bogen_ab_12_Delta_SP_1_ab = 136.8686, 0,36.6738 + +Vario_Bogen_auf_12_Delta_SP_0_ab= 149.7944, 0,7.8504 +Vario_Bogen_auf_12_Delta_SP_1_ab = 144.8889, 0,38.8229 + +Vario_Bogen_auf_12_Delta_VP_1_ab = 5.5, 50, 41.49 +Vario_Bogen_ab_12_Delta_VP_0_ab= 7.23,50, 41.38 + +Vario_Bogen_ab_9_Delta_SP_0 = 143.5855, 0,59.8610 +Vario_Bogen_ab_9_Delta_SP_1 = 140.6406, 0,29.8941 + +Vario_Bogen_auf_9_Delta_SP_0= 149.7944, 0,7.8504 +Vario_Bogen_auf_9_Delta_SP_1 = 146.72, 0,31.19 + +Vario_Bogen_auf_9_Delta_VP_1 = 5.5, 50, 41.49 +Vario_Bogen_ab_9_Delta_VP_0= 7.23,50, 41.38 + + +Vario_Bogen_ab_6_Delta_SP_0 = 195.7284, 0,62.5937 +Vario_Bogen_ab_6_Delta_SP_1 = 193.5840, 0,30.6607 + +Vario_Bogen_auf_6_Delta_SP_0= 199.8629, 0,10.4744 +Vario_Bogen_auf_6_Delta_SP_1 = 197.6732, 0,31.3084 + +Vario_Bogen_auf_6_Delta_VP_1 = 5.5, 50, 41.49 +Vario_Bogen_ab_6_Delta_VP_0= 7.23,50, 41.38 + diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py index 61d1aa3..9074c98 100644 --- a/lib/plant2dxf.py +++ b/lib/plant2dxf.py @@ -132,7 +132,7 @@ def import_block(block_name: str, from_doc, to_doc, winkel = None) -> None: import_block(ent.dxf.name,from_doc, to_doc,None) tgt.add_entity(copy) -def dreh_block(block_name: str, from_doc, to_doc, winkel) : +def dreh_block(block_name: str, to_doc, winkel) : """Importiert Blockdefinition block_name von from_doc nach to_doc. - Kopiert alle Entities des Blocks @@ -143,7 +143,7 @@ def dreh_block(block_name: str, from_doc, to_doc, winkel) : dreh_block_name = block_name +f"_{math.degrees(winkel)}" if (dreh_block_name in to_doc.blocks): return dreh_block_name - block_zwischen = to_doc.blocks.new(name=block_name + f"aaa_{winkel}", base_point=(0,0,0)) + block_zwischen = to_doc.blocks.new(name=block_name + f"zwischenschrit_{winkel}", base_point=(0,0,0)) block = to_doc.blocks.new(name=dreh_block_name, base_point=(0,0,0)) rotation_matrix = Matrix44.axis_rotate(Y_AXIS, winkel) @@ -582,9 +582,6 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config): - - - if "VARIO" not in doc.layers: @@ -598,16 +595,17 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve unterschiedlich = False asoffset = float(config.get("ILS 2.0 Gefällestrecke", "asoffset")) esoffset = float(config.get("ILS 2.0 Gefällestrecke", "esoffset")) + rotation = float(merkmale.get("Drehung")) upper_hoehe_vario= float(merkmale.get("Höhe Ende")) *1000 lower_hoehe_vario = float(merkmale.get("Höhe Anfang")) *1000 + if upper_hoehe_vario< lower_hoehe_vario: hight = upper_hoehe_vario upper_hoehe_vario = lower_hoehe_vario lower_hoehe_vario = hight rotation = rotation -180 hoehe_vario= (upper_hoehe_vario + lower_hoehe_vario)/2 - rotation = float(merkmale.get("Drehung")) for nachbarn in strecken_nachbarn: if teileid == nachbarn.get("Id"): gefaellestrecke_vario = nachbarn @@ -629,7 +627,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) - am_kreisel,kreseil_verbunden =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) + am_kreisel,kreseil_verbunden =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: blockname = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_rechts_{ein_kreisel_höher}_{drehung0}_True") block_name_links = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_links_{ein_kreisel_höher}_{drehung0}_True") @@ -644,25 +642,42 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve dy_true = halbe_laenge * math.cos (0) start = (x, y + dy_true,upper_hoehe_vario) ende = (x,y -dy_true,lower_hoehe_vario) - if ein_kreisel_höher == True: + if ein_kreisel_höher == True : l = (start[0],start[1],upper_hoehe_vario) - m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + if voerder_richtung =="Auf": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + start = m + elif voerder_richtung == "Ab": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario - 500* math.sin(math.radians(3))) + start = m + else: + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario) + start = m + line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) - start = start[0], start[1] - math.cos(math.radians(3)) *500, start[2] +500* math.sin(math.radians(3)) + + else: l = (ende[0],ende[1],lower_hoehe_vario) - m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) - ende = ende[0], ende[1] + math.cos(math.radians(3)) *500, ende[2] - 500* math.sin(math.radians(3)) + if voerder_richtung =="Auf": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) + ende = m + elif voerder_richtung == "Ab": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario + 500* math.sin(math.radians(3))) + ende = m + else: + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario ) + ende = m line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) return @@ -682,8 +697,11 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve msp.add_blockref(blockname,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) return block_vario = doc.blocks.new(blockname, base_point=(0,0,0)) + dy_true = halbe_laenge * math.cos (0) + msp.add_line((x , y -dy_true,upper_hoehe_vario),(x,y+dy_true,lower_hoehe_vario)) + start, ende =erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_vario, lower_hoehe_vario, hoehe_vario, drehung0, laenge, blockname,None ,block_vario, voerder_richtung, ein_kreisel_höher) - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) if merkmale.get("Motorseite")== "rechts": @@ -714,6 +732,8 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve drehung2 = drehung0 drehung0 = drehung1 drehung1 = drehung2 + if(teileid == "shape_b804092f-b609-619c-2588-2b3944f060a6"): + test = 3 am_kreisel,kreisel_verbunden =am_kreisel_direct_verbunden(x, y, upper_hoehe_vario, lower_hoehe_vario, x0_kreisel, y0_kreisel, richtung_rad0, abstand0, dx, dy, x1_kreisel, y1_kreisel, richtung_rad1, abstand1) if kreisel_verbunden == 2: @@ -731,22 +751,41 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve start = (x, y + dy_true,upper_hoehe_vario) ende = (x,y -dy_true,lower_hoehe_vario) l = (start[0],start[1],upper_hoehe_vario) - m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + + if voerder_richtung =="Auf": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + start = m + + elif voerder_richtung == "Ab": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario -500* math.sin(math.radians(3))) + start = m + + else: + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario ) + start = m + line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) - start = start[0], start[1] - math.cos(math.radians(3)) *500, start[2] +500* math.sin(math.radians(3)) l = (ende[0],ende[1],lower_hoehe_vario) - m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) - ende = ende[0], ende[1] + math.cos(math.radians(3)) *500, ende[2] - 500* math.sin(math.radians(3)) + if voerder_richtung =="Auf": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) + ende = m + + elif voerder_richtung == "Ab": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario + 500* math.sin(math.radians(3))) + ende = m + else: + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario ) + ende = m line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) return @@ -758,7 +797,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve erster_kreisel_höher = True else: erster_kreisel_höher = False - blockname = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_rechts_{am_kreisel}_{erster_kreisel_höher}_drehung0_{drehung1}") + blockname = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_rechts_{am_kreisel}_{erster_kreisel_höher}_{drehung0}_{drehung1}") block_name_links = (f"Vario_Foerderer_{winkel}_{voerder_richtung}_{laenge}_{hoehe_vario}_links_{am_kreisel}_{erster_kreisel_höher}_{drehung0}_{drehung1}") @@ -771,32 +810,50 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve return block_vario = doc.blocks.new(blockname, base_point=(0,0,0)) dy_true = halbe_laenge * math.cos(0) - if am_kreisel == 1 and erster_kreisel_höher == True or am_kreisel == 2 and erster_kreisel_höher == False: + + if (am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False): start = (x, y + dy_true,upper_hoehe_vario) ende = (x,y -dy_true,lower_hoehe_vario) l = (start[0],start[1],upper_hoehe_vario) - m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + if voerder_richtung == "Auf": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario +500* math.sin(math.radians(3))) + z1 = m[2] + elif voerder_richtung == "Ab": + m = (start[0],start[1] - 500*math.cos(math.radians(3)),upper_hoehe_vario -500* math.sin(math.radians(3))) + z1 = m[2] + else: + m= (x,y -dy_true,lower_hoehe_vario) + z1 = m[2] + line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) y1 = start[1] - math.cos(math.radians(3)) *500 - z1 = start[2] +500* math.sin(math.radians(3)) + else: start = (x, y + dy_true,upper_hoehe_vario) ende = (x,y -dy_true,lower_hoehe_vario) l = (ende[0],ende[1],lower_hoehe_vario) - m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) + if voerder_richtung =="Auf": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario - 500* math.sin(math.radians(3))) + z1 = m[2] + elif voerder_richtung == "Ab": + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario + 500* math.sin(math.radians(3))) + z1 = m[2] + else: + m = (ende[0],ende[1] + 500*math.cos(math.radians(3)) ,lower_hoehe_vario ) + z1 = m[2] line = Line.new(dxfattribs={"start": l,"end":m }) copy= line.copy() copy.translate(-x,-y,-hoehe_vario) block_vario.add_entity(copy) y1 = ende[1] + math.cos(math.radians(3)) *500 - z1 = ende[2] -500* math.sin(math.radians(3)) + start, ende =gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_vario, lower_hoehe_vario, hoehe_vario,richtung2, drehung0, drehung1, laenge, None, blockname,block_vario,voerder_richtung, am_kreisel,erster_kreisel_höher,y1,z1) - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) elif merkmale.get("Motorseite")== "rechts": @@ -821,7 +878,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve block_vario = doc.blocks.new(blockname, base_point=(0,0,0)) start, ende =gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_vario, lower_hoehe_vario, hoehe_vario,richtung2, drehung0, drehung1, laenge, None, blockname,block_vario,voerder_richtung) if blockname not in doc.blocks or block_name_links not in doc.blocks: - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block_vario,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) elif merkmale.get("Motorseite")== "rechts": @@ -848,19 +905,23 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve if blockname not in doc.blocks or block_name_links not in doc.blocks: - vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block,block_name_links, start, ende) + vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block,block_name_links, start, ende,voerder_richtung ) if merkmale.get("Motorseite")== "links": msp.add_blockref(block_name_links,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) if merkmale.get("Motorseite")== "rechts": msp.add_blockref(blockname,(x,y,hoehe_vario),dxfattribs={"rotation": rotation}) -def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block,block_name_links, start, ende): - if merkmale.get("Förderrichtung") == "Auf": +def vario_erstellung(msp,merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, laenge, block,block_name_links, start, ende,voerder_richtung ): + if voerder_richtung== "Auf": umlenk_motor_offset = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Umlenkstation")).split(",")) block_Vario_Umlenkstation_500mm ="Vario_Umlenkstation_500mm" block_Vario_Motorstation_500mm = "Vario_Motorstation_500mm" - import_block( block_Vario_Motorstation_500mm, lib_doc, doc,math.radians(3)) - import_block( block_Vario_Umlenkstation_500mm , lib_doc, doc,math.radians(3)) + import_block(block_Vario_Motorstation_500mm, lib_doc, doc) + import_block(block_Vario_Umlenkstation_500mm , lib_doc, doc,math.radians(3)) + block_Vario_Motorstation_500mm = dreh_block(block_Vario_Motorstation_500mm,doc,math.radians(3)) + block_Vario_Umlenkstation_500mm = dreh_block( block_Vario_Umlenkstation_500mm, doc,math.radians(3)) + + block.add_blockref(block_Vario_Umlenkstation_500mm,(ende[0] -x,ende[1] -y + umlenk_motor_offset[0]/2,ende[2] - hoehe_vario -umlenk_motor_offset[2]/2 ),dxfattribs={"rotation": 90}) ende = (ende[0] ,ende[1] + umlenk_motor_offset[0],ende[2] -umlenk_motor_offset[2]) block.add_blockref(block_Vario_Motorstation_500mm, (start[0]-x , start[1] - umlenk_motor_offset[0]/2 -y ,start[2] - hoehe_vario +umlenk_motor_offset[2]/2),dxfattribs={"rotation": 90}) @@ -868,26 +929,29 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, if winkel == 48: block_Vario_Bogen_auf_51 = "Vario_Bogen_auf_51°" block_Vario_Bogen_ab_51 = "Vario_Bogen_ab_51°" - Vario_Bogen_auf_51_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_51_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_51_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_51_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_51_Delta_VP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_51_Delta_VP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_51, lib_doc, doc,math.radians(3)) - import_block(block_Vario_Bogen_ab_51, lib_doc, doc,math.radians(-48)) + Vario_Bogen_auf_51_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_SP_0")).split(",")) + Vario_Bogen_auf_51_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_SP_1")).split(",")) + Vario_Bogen_ab_51_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_SP_0")).split(",")) + Vario_Bogen_ab_51_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_SP_1")).split(",")) + Vario_Bogen_auf_51_Delta_VP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_51_Delta_VP_1")).split(",")) + Vario_Bogen_ab_51_Delta_VP_0= tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_51_Delta_VP_0")).split(",")) + import_block(block_Vario_Bogen_auf_51, lib_doc, doc) + import_block(block_Vario_Bogen_ab_51, lib_doc, doc) + block_Vario_Bogen_auf_51 = dreh_block(block_Vario_Bogen_auf_51, doc,math.radians(3)) + block_Vario_Bogen_ab_51 = dreh_block(block_Vario_Bogen_ab_51, doc,math.radians(-48)) + - block.add_blockref(block_Vario_Bogen_auf_51,(ende[0] -x ,ende[1] +Vario_Bogen_auf_51_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_51_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_51_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_51_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_51_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_51_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_51_Delta_VP_1_aufwaerts[1], ende[1]-Vario_Bogen_auf_51_Delta_VP_1_aufwaerts[0],ende[2] + Vario_Bogen_auf_51_Delta_VP_1_aufwaerts[2]) + block.add_blockref(block_Vario_Bogen_auf_51,(ende[0] -x ,ende[1] +Vario_Bogen_auf_51_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_51_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_51_Delta_SP_1[0] + Vario_Bogen_auf_51_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_51_Delta_SP_1[2] - Vario_Bogen_auf_51_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_51_Delta_VP_1[1], ende[1]-Vario_Bogen_auf_51_Delta_VP_1[0],ende[2] + Vario_Bogen_auf_51_Delta_VP_1[2]) - block.add_blockref(block_Vario_Bogen_ab_51 ,(start[0]-x,start[1] - Vario_Bogen_ab_51_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_51_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) + block.add_blockref(block_Vario_Bogen_ab_51 ,(start[0]-x,start[1] - Vario_Bogen_ab_51_Delta_SP_1[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_51_Delta_SP_1[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_51_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_51_Delta_SP_1_aufwaerts[0],start[2] + Vario_Bogen_ab_51_Delta_SP_1_aufwaerts[2]- Vario_Bogen_ab_51_Delta_SP_0_aufwaerts[2] + start = start[0] ,start[1] - Vario_Bogen_ab_51_Delta_SP_0[0] - Vario_Bogen_ab_51_Delta_SP_1[0],start[2] + Vario_Bogen_ab_51_Delta_SP_1[2]- Vario_Bogen_ab_51_Delta_SP_0[2] - start_VP = start[0] +Vario_Bogen_ab_51_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_51_Delta_VP_0_aufwaerts[0] ,start[2]-Vario_Bogen_ab_51_Delta_VP_0_aufwaerts[2] + start_VP = start[0] +Vario_Bogen_ab_51_Delta_VP_0[1],start[1]+Vario_Bogen_ab_51_Delta_VP_0[0] ,start[2]-Vario_Bogen_ab_51_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -906,26 +970,28 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, elif winkel == 36: block_Vario_Bogen_auf_39 = "Vario_Bogen_auf_39°" block_Vario_Bogen_ab_39 = "Vario_Bogen_ab_39°" - Vario_Bogen_auf_39_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_39_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_39_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_39_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_39_Delta_VP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_39_Delta_VP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_39, lib_doc, doc,math.radians(3)) - import_block(block_Vario_Bogen_ab_39, lib_doc, doc,math.radians(-36)) + Vario_Bogen_auf_39_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_SP_0")).split(",")) + Vario_Bogen_auf_39_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_SP_1")).split(",")) + Vario_Bogen_ab_39_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_SP_0")).split(",")) + Vario_Bogen_ab_39_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_SP_1")).split(",")) + Vario_Bogen_auf_39_Delta_VP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_39_Delta_VP_1")).split(",")) + Vario_Bogen_ab_39_Delta_VP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_39_Delta_VP_0")).split(",")) + import_block(block_Vario_Bogen_auf_39, lib_doc, doc) + import_block(block_Vario_Bogen_ab_39, lib_doc, doc) + block_Vario_Bogen_auf_39= dreh_block(block_Vario_Bogen_auf_39, doc,math.radians(3)) + block_Vario_Bogen_ab_39 = dreh_block(block_Vario_Bogen_ab_39, doc,math.radians(-36)) + - - block.add_blockref(block_Vario_Bogen_auf_39,(ende[0] -x ,ende[1] +Vario_Bogen_auf_39_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_39_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_39_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_39_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_39_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_39_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_39_Delta_VP_1_aufwaerts[1], ende[1] +Vario_Bogen_auf_39_Delta_SP_1_aufwaerts[0]-Vario_Bogen_auf_39_Delta_VP_1_aufwaerts[0],ende[2] - Vario_Bogen_auf_39_Delta_VP_1_aufwaerts[2]) + block.add_blockref(block_Vario_Bogen_auf_39,(ende[0] -x ,ende[1] +Vario_Bogen_auf_39_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_39_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_39_Delta_SP_1[0] + Vario_Bogen_auf_39_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_39_Delta_SP_1[2] - Vario_Bogen_auf_39_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_39_Delta_VP_1[1], ende[1] +Vario_Bogen_auf_39_Delta_SP_1[0]-Vario_Bogen_auf_39_Delta_VP_1[0],ende[2] - Vario_Bogen_auf_39_Delta_VP_1[2]) - block.add_blockref(block_Vario_Bogen_ab_39 ,(start[0]-x,start[1] - Vario_Bogen_ab_39_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_39_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) + block.add_blockref(block_Vario_Bogen_ab_39 ,(start[0]-x,start[1] - Vario_Bogen_ab_39_Delta_SP_1[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_39_Delta_SP_1[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_39_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_39_Delta_SP_1_aufwaerts[0],start[2] -Vario_Bogen_ab_39_Delta_SP_0_aufwaerts[2] + Vario_Bogen_ab_39_Delta_SP_1_aufwaerts[2] + start = start[0] ,start[1] - Vario_Bogen_ab_39_Delta_SP_0[0] - Vario_Bogen_ab_39_Delta_SP_1[0],start[2] -Vario_Bogen_ab_39_Delta_SP_0[2] + Vario_Bogen_ab_39_Delta_SP_1[2] - start_VP = start[0] +Vario_Bogen_ab_39_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_39_Delta_VP_0_aufwaerts[0] - Vario_Bogen_ab_39_Delta_SP_0_aufwaerts[0],start[2]-Vario_Bogen_ab_39_Delta_VP_0_aufwaerts[2] + start_VP = start[0] +Vario_Bogen_ab_39_Delta_VP_0[1],start[1]+Vario_Bogen_ab_39_Delta_VP_0[0] - Vario_Bogen_ab_39_Delta_SP_0[0],start[2]-Vario_Bogen_ab_39_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -943,21 +1009,24 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, elif winkel == 24: block_Vario_Bogen_auf_27 = "Vario_Bogen_auf_27°" block_Vario_Bogen_ab_27 = "Vario_Bogen_ab_27°" - Vario_Bogen_auf_27_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_27_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_27_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_27_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_27_Delta_VP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_27_Delta_VP_0_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_27, lib_doc, doc,math.radians(3)) - import_block(block_Vario_Bogen_ab_27, lib_doc, doc,math.radians(-24)) - block.add_blockref(block_Vario_Bogen_auf_27,(ende[0] -x ,ende[1] +Vario_Bogen_auf_27_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_27_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_27_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_27_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_27_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_27_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_27_Delta_VP_1_aufwaerts[1], ende[1] +Vario_Bogen_auf_27_Delta_VP_1_aufwaerts[0],ende[2] - Vario_Bogen_auf_27_Delta_VP_1_aufwaerts[2]) + Vario_Bogen_auf_27_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_SP_0")).split(",")) + Vario_Bogen_auf_27_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_SP_1")).split(",")) + Vario_Bogen_ab_27_Delta_SP_0= tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_SP_0")).split(",")) + Vario_Bogen_ab_27_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_SP_1")).split(",")) + Vario_Bogen_auf_27_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_27_Delta_VP_1")).split(",")) + Vario_Bogen_ab_27_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_27_Delta_VP_0")).split(",")) + import_block(block_Vario_Bogen_auf_27, lib_doc, doc) + import_block(block_Vario_Bogen_ab_27, lib_doc, doc) + block_Vario_Bogen_auf_27= dreh_block(block_Vario_Bogen_auf_27, doc,math.radians(3)) + block_Vario_Bogen_ab_27 = dreh_block(block_Vario_Bogen_ab_27, doc,math.radians(-24)) - block.add_blockref(block_Vario_Bogen_ab_27 ,(start[0]-x,start[1] - Vario_Bogen_ab_27_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario + Vario_Bogen_ab_27_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_27_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_27_Delta_SP_1_aufwaerts[0],start[2] -Vario_Bogen_ab_27_Delta_SP_0_aufwaerts[2] + Vario_Bogen_ab_27_Delta_SP_1_aufwaerts[2] - start_VP = start[0] +Vario_Bogen_ab_27_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_27_Delta_VP_0_aufwaerts[0] ,start[2]-Vario_Bogen_ab_27_Delta_VP_0_aufwaerts[2] + block.add_blockref(block_Vario_Bogen_auf_27,(ende[0] -x ,ende[1] +Vario_Bogen_auf_27_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_27_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_27_Delta_SP_1[0] + Vario_Bogen_auf_27_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_27_Delta_SP_1[2] - Vario_Bogen_auf_27_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_27_Delta_VP_1[1], ende[1] +Vario_Bogen_auf_27_Delta_VP_1[0],ende[2] - Vario_Bogen_auf_27_Delta_VP_1[2]) + + block.add_blockref(block_Vario_Bogen_ab_27 ,(start[0]-x,start[1] - Vario_Bogen_ab_27_Delta_SP_1[0] -y ,start[2] - hoehe_vario + Vario_Bogen_ab_27_Delta_SP_1[2]),dxfattribs={"rotation": 90}) + start = start[0] ,start[1] - Vario_Bogen_ab_27_Delta_SP_0[0] - Vario_Bogen_ab_27_Delta_SP_1[0],start[2] -Vario_Bogen_ab_27_Delta_SP_0[2] + Vario_Bogen_ab_27_Delta_SP_1[2] + start_VP = start[0] +Vario_Bogen_ab_27_Delta_VP_0[1],start[1]+Vario_Bogen_ab_27_Delta_VP_0[0] ,start[2]-Vario_Bogen_ab_27_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -977,21 +1046,24 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, elif winkel == 15: block_Vario_Bogen_ab_18 = "Vario_Bogen_ab_18°" block_Vario_Bogen_auf_18 = "Vario_Bogen_auf_18°" - Vario_Bogen_auf_18_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_18_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_18_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_18_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_18_Delta_VP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_18_Delta_VP_0_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_18, lib_doc, doc,math.radians(3)) + Vario_Bogen_auf_18_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_SP_0")).split(",")) + Vario_Bogen_auf_18_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_SP_1")).split(",")) + Vario_Bogen_ab_18_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_SP_0")).split(",")) + Vario_Bogen_ab_18_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_SP_1")).split(",")) + Vario_Bogen_auf_18_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_18_Delta_VP_1")).split(",")) + Vario_Bogen_ab_18_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_18_Delta_VP_0")).split(",")) + import_block(block_Vario_Bogen_auf_18, lib_doc, doc) import_block(block_Vario_Bogen_ab_18, lib_doc, doc,math.radians(-15)) - block.add_blockref(block_Vario_Bogen_auf_18,(ende[0] -x ,ende[1] +Vario_Bogen_auf_18_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_18_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_18_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_18_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_18_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_18_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_18_Delta_VP_1_aufwaerts[1], ende[1] +Vario_Bogen_auf_18_Delta_VP_1_aufwaerts[0],ende[2] - Vario_Bogen_auf_18_Delta_VP_1_aufwaerts[2]) + block_Vario_Bogen_auf_18 = dreh_block(block_Vario_Bogen_auf_18, doc,math.radians(3)) + block_Vario_Bogen_ab_18 = dreh_block(block_Vario_Bogen_ab_18, doc,math.radians(-15)) - block.add_blockref(block_Vario_Bogen_ab_18 ,(start[0]-x,start[1] - Vario_Bogen_ab_18_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_18_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_18_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_18_Delta_SP_1_aufwaerts[0],start[2] -Vario_Bogen_ab_18_Delta_SP_0_aufwaerts[2] + Vario_Bogen_ab_18_Delta_SP_1_aufwaerts[2] - start_VP = start[0] +Vario_Bogen_ab_18_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_18_Delta_VP_0_aufwaerts[0] ,start[2]-Vario_Bogen_ab_18_Delta_VP_0_aufwaerts[2] + block.add_blockref(block_Vario_Bogen_auf_18,(ende[0] -x ,ende[1] +Vario_Bogen_auf_18_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_18_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_18_Delta_SP_1[0] + Vario_Bogen_auf_18_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_18_Delta_SP_1[2] - Vario_Bogen_auf_18_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_18_Delta_VP_1[1], ende[1] +Vario_Bogen_auf_18_Delta_VP_1[0],ende[2] - Vario_Bogen_auf_18_Delta_VP_1[2]) + + block.add_blockref(block_Vario_Bogen_ab_18 ,(start[0]-x,start[1] - Vario_Bogen_ab_18_Delta_SP_1[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_18_Delta_SP_1[2]),dxfattribs={"rotation": 90}) + start = start[0] ,start[1] - Vario_Bogen_ab_18_Delta_SP_0[0] - Vario_Bogen_ab_18_Delta_SP_1[0],start[2] -Vario_Bogen_ab_18_Delta_SP_0[2] + Vario_Bogen_ab_18_Delta_SP_1[2] + start_VP = start[0] +Vario_Bogen_ab_18_Delta_VP_0[1],start[1]+Vario_Bogen_ab_18_Delta_VP_0[0] ,start[2]-Vario_Bogen_ab_18_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -1012,21 +1084,25 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, elif winkel == 12: block_Vario_Bogen_ab_15 = "Vario_Bogen_ab_15°" block_Vario_Bogen_auf_15 = "Vario_Bogen_auf_15°" - Vario_Bogen_auf_15_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_15_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_15_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_15_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_15_Delta_VP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_15_Delta_VP_0_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_15, lib_doc, doc,math.radians(3)) - import_block(block_Vario_Bogen_ab_15, lib_doc, doc,math.radians(-12)) - block.add_blockref(block_Vario_Bogen_auf_15,(ende[0] -x ,ende[1] +Vario_Bogen_auf_15_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_15_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_15_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_15_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_15_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_15_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_15_Delta_VP_1_aufwaerts[1], ende[1] +Vario_Bogen_auf_15_Delta_VP_1_aufwaerts[0],ende[2] - Vario_Bogen_auf_15_Delta_VP_1_aufwaerts[2]) + Vario_Bogen_auf_15_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_SP_0")).split(",")) + Vario_Bogen_auf_15_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_SP_1")).split(",")) + Vario_Bogen_ab_15_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_SP_0")).split(",")) + Vario_Bogen_ab_15_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_SP_1")).split(",")) + Vario_Bogen_auf_15_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_15_Delta_VP_1")).split(",")) + Vario_Bogen_ab_15_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_15_Delta_VP_0")).split(",")) + import_block(block_Vario_Bogen_auf_15, lib_doc, doc) + import_block(block_Vario_Bogen_ab_15, lib_doc, doc) + block_Vario_Bogen_auf_15= dreh_block(block_Vario_Bogen_auf_15, doc,math.radians(3)) + block_Vario_Bogen_ab_15 = dreh_block(block_Vario_Bogen_ab_15, doc,math.radians(-12)) - block.add_blockref(block_Vario_Bogen_ab_15 ,(start[0]-x,start[1] - Vario_Bogen_ab_15_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_15_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_15_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_15_Delta_SP_1_aufwaerts[0],start[2] -Vario_Bogen_ab_15_Delta_SP_0_aufwaerts[2] + Vario_Bogen_ab_15_Delta_SP_1_aufwaerts[2] - start_VP = start[0] +Vario_Bogen_ab_15_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_15_Delta_VP_0_aufwaerts[0] ,start[2]-Vario_Bogen_ab_15_Delta_VP_0_aufwaerts[2] + + block.add_blockref(block_Vario_Bogen_auf_15,(ende[0] -x ,ende[1] +Vario_Bogen_auf_15_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_15_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_15_Delta_SP_1[0] + Vario_Bogen_auf_15_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_15_Delta_SP_1[2] - Vario_Bogen_auf_15_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_15_Delta_VP_1[1], ende[1] +Vario_Bogen_auf_15_Delta_VP_1[0],ende[2] - Vario_Bogen_auf_15_Delta_VP_1[2]) + + block.add_blockref(block_Vario_Bogen_ab_15 ,(start[0]-x,start[1] - Vario_Bogen_ab_15_Delta_SP_1[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_15_Delta_SP_1[2]),dxfattribs={"rotation": 90}) + start = start[0] ,start[1] - Vario_Bogen_ab_15_Delta_SP_0[0] - Vario_Bogen_ab_15_Delta_SP_1[0],start[2] -Vario_Bogen_ab_15_Delta_SP_0[2] + Vario_Bogen_ab_15_Delta_SP_1[2] + start_VP = start[0] +Vario_Bogen_ab_15_Delta_VP_0[1],start[1]+Vario_Bogen_ab_15_Delta_VP_0[0] ,start[2]-Vario_Bogen_ab_15_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -1043,23 +1119,29 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, elif winkel == 9: - block_Vario_Bogen_ab_12 = "Vario_Bogen_ab_12°" + block_Vario_Bogen_ab_12 = "Vario_Bogen_ab_12_°" block_Vario_Bogen_auf_12 = "Vario_Bogen_auf_12°" - Vario_Bogen_auf_12_Delta_SP_0_aufwaerts = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_auf_12_Delta_SP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_12_Delta_SP_0_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_0_aufwaerts")).split(",")) - Vario_Bogen_ab_12_Delta_SP_1_aufwaerts = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_1_aufwaerts")).split(",")) - Vario_Bogen_auf_12_Delta_VP_1_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_VP_1_aufwaerts")).split(",")) - Vario_Bogen_ab_12_Delta_VP_0_aufwaerts = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_VP_0_aufwaerts")).split(",")) - import_block(block_Vario_Bogen_auf_12, lib_doc, doc,math.radians(3)) - import_block(block_Vario_Bogen_ab_12, lib_doc, doc,math.radians(-9)) - block.add_blockref(block_Vario_Bogen_auf_12,(ende[0] -x ,ende[1] +Vario_Bogen_auf_12_Delta_SP_0_aufwaerts[0] -y ,ende[2] - Vario_Bogen_auf_12_Delta_SP_0_aufwaerts[2]- hoehe_vario ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] +Vario_Bogen_auf_12_Delta_SP_1_aufwaerts[0] + Vario_Bogen_auf_12_Delta_SP_0_aufwaerts[0] ,ende[2] + Vario_Bogen_auf_12_Delta_SP_1_aufwaerts[2] - Vario_Bogen_auf_12_Delta_SP_0_aufwaerts[2]) - ende_VP = (ende[0] +Vario_Bogen_auf_12_Delta_VP_1_aufwaerts[1], ende[1] +Vario_Bogen_auf_12_Delta_VP_1_aufwaerts[0],ende[2] - Vario_Bogen_auf_12_Delta_VP_1_aufwaerts[2]) + Vario_Bogen_auf_12_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_0_auf")).split(",")) + Vario_Bogen_auf_12_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_1_auf")).split(",")) + Vario_Bogen_ab_12_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_0_auf")).split(",")) + Vario_Bogen_ab_12_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_1_auf")).split(",")) + Vario_Bogen_auf_12_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_VP_1_auf")).split(",")) + Vario_Bogen_ab_12_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_VP_0_auf")).split(",")) + import_block(block_Vario_Bogen_auf_12, lib_doc, doc) + import_block(block_Vario_Bogen_ab_12, lib_doc, doc) + block_Vario_Bogen_auf_12 = dreh_block(block_Vario_Bogen_auf_12, doc,math.radians(3)) + block_Vario_Bogen_ab_12 = dreh_block(block_Vario_Bogen_ab_12, doc,math.radians(-9)) - block.add_blockref(block_Vario_Bogen_ab_12 ,(start[0]-x,start[1] - Vario_Bogen_ab_12_Delta_SP_1_aufwaerts[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_12_Delta_SP_1_aufwaerts[2]),dxfattribs={"rotation": 90}) - start = start[0] ,start[1] - Vario_Bogen_ab_12_Delta_SP_0_aufwaerts[0] - Vario_Bogen_ab_12_Delta_SP_1_aufwaerts[0],start[2] -Vario_Bogen_ab_12_Delta_SP_0_aufwaerts[2] + Vario_Bogen_ab_12_Delta_SP_1_aufwaerts[2] - start_VP = start[0] +Vario_Bogen_ab_12_Delta_VP_0_aufwaerts[1],start[1]+Vario_Bogen_ab_12_Delta_VP_0_aufwaerts[0] ,start[2]-Vario_Bogen_ab_12_Delta_VP_0_aufwaerts[2] + + + + block.add_blockref(block_Vario_Bogen_auf_12,(ende[0] -x ,ende[1] +Vario_Bogen_auf_12_Delta_SP_0[0] -y ,ende[2] - Vario_Bogen_auf_12_Delta_SP_0[2]- hoehe_vario ),dxfattribs={"rotation": 90}) + ende = (ende[0] ,ende[1] +Vario_Bogen_auf_12_Delta_SP_1[0] + Vario_Bogen_auf_12_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_12_Delta_SP_1[2] - Vario_Bogen_auf_12_Delta_SP_0[2]) + ende_VP = (ende[0] +Vario_Bogen_auf_12_Delta_VP_1[1], ende[1] +Vario_Bogen_auf_12_Delta_VP_1[0],ende[2] - Vario_Bogen_auf_12_Delta_VP_1[2]) + + block.add_blockref(block_Vario_Bogen_ab_12 ,(start[0]-x,start[1] - Vario_Bogen_ab_12_Delta_SP_1[0] -y ,start[2] - hoehe_vario+Vario_Bogen_ab_12_Delta_SP_1[2]),dxfattribs={"rotation": 90}) + start = start[0] ,start[1] - Vario_Bogen_ab_12_Delta_SP_0[0] - Vario_Bogen_ab_12_Delta_SP_1[0],start[2] -Vario_Bogen_ab_12_Delta_SP_0[2] + Vario_Bogen_ab_12_Delta_SP_1[2] + start_VP = start[0] +Vario_Bogen_ab_12_Delta_VP_0[1],start[1]+Vario_Bogen_ab_12_Delta_VP_0[0] ,start[2]-Vario_Bogen_ab_12_Delta_VP_0[2] line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" copy_VP = line_VP.copy() @@ -1084,33 +1166,184 @@ def vario_erstellung(merkmale, x, y, doc, lib_doc, config, winkel, hoehe_vario, copy.translate(-x,-y,-hoehe_vario) block.add_entity(copy) - matrix = Matrix44.scale(-1,1,1) - block_links = doc.blocks.new(block_name_links, base_point=(0,0,0)) - for entity in block: - clone= entity.copy() - if entity.dxftype() == "INSERT": - if (entity.dxf.name == "400102632_ES-Element_90_links" or entity.dxf.name == "200000146_ES-Element_90_rechts" or - entity.dxf.name == "200000241_AS-Element_90_rechts" or entity.dxf.name == "200000217_AS-Element_90_links" - ): - block_links.add_entity(clone) - else: - clone.transform(matrix) - block_links.add_entity(clone) - else: - clone.transform(matrix) - block_links.add_entity(clone) - else: + + elif voerder_richtung == "Ab": + + umlenk_motor_offset = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Umlenkstation")).split(",")) block_Vario_Umlenkstation_500mm ="Vario_Umlenkstation_500mm" block_Vario_Motorstation_500mm = "Vario_Motorstation_500mm" - import_block( block_Vario_Motorstation_500mm, lib_doc, doc,math.radians(3)) - import_block( block_Vario_Umlenkstation_500mm , lib_doc, doc,math.radians(3)) - block.add_blockref(block_Vario_Umlenkstation_500mm,(ende[0] -x,ende[1] -y + umlenk_motor_offset[0]/2,ende[2] - hoehe_vario -umlenk_motor_offset[2]/2 ),dxfattribs={"rotation": 90}) - ende = (ende[0] ,ende[1] + umlenk_motor_offset[0],ende[2] -umlenk_motor_offset[2]) - block.add_blockref(block_Vario_Motorstation_500mm, (start[0]-x , start[1] - umlenk_motor_offset[0]/2 -y ,start[2] - hoehe_vario +umlenk_motor_offset[2]/2),dxfattribs={"rotation": 90}) - start = start[0] , start[1] - umlenk_motor_offset[0],start[2] +umlenk_motor_offset[2] + import_block( block_Vario_Motorstation_500mm, lib_doc, doc) + import_block( block_Vario_Umlenkstation_500mm , lib_doc, doc) + block_Vario_Motorstation_500mm = dreh_block( block_Vario_Motorstation_500mm, doc,math.radians(3)) + block_Vario_Umlenkstation_500mm = dreh_block( block_Vario_Umlenkstation_500mm , doc,math.radians(3)) + block.add_blockref(block_Vario_Umlenkstation_500mm,(start[0] -x,start[1] -y - umlenk_motor_offset[0]/2, start[2] - hoehe_vario -umlenk_motor_offset[2]/2 ),dxfattribs={"rotation": 270}) + start = (start[0] ,start[1] - umlenk_motor_offset[0],start[2] +umlenk_motor_offset[2]) + block.add_blockref(block_Vario_Motorstation_500mm, (ende[0]-x , ende[1] + umlenk_motor_offset[0]/2 -y ,ende[2] - hoehe_vario +umlenk_motor_offset[2]/2),dxfattribs={"rotation": 270}) + ende = ende[0] , ende[1] + umlenk_motor_offset[0],ende[2] +umlenk_motor_offset[2] + if winkel == 48: + block_Vario_ab_45 = "Vario_Bogen_ab_45°" + block_Vario_auf_45 = "Vario_Bogen_auf_45°" + import_block( block_Vario_ab_45 , lib_doc, doc) + import_block( block_Vario_auf_45 , lib_doc, doc) + block_Vario_ab_45 = dreh_block( block_Vario_ab_45 , doc, math.radians(3)) + block_Vario_auf_45 = dreh_block( block_Vario_auf_45 , doc, math.radians(48)) + Vario_Bogen_auf_45_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_45_Delta_SP_0")).split(",")) + Vario_Bogen_auf_45_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_45_Delta_SP_1")).split(",")) + Vario_Bogen_ab_45_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_45_Delta_SP_0")).split(",")) + Vario_Bogen_ab_45_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_45_Delta_SP_1")).split(",")) + # Vario_Bogen_auf_45_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_45_Delta_VP_1")).split(",")) + # Vario_Bogen_ab_45_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_45_Delta_VP_0")).split(",")) + + block.add_blockref(block_Vario_ab_45, (start[0]-x,start[1]-y- Vario_Bogen_ab_45_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_45_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_45_Delta_SP_0[0]- Vario_Bogen_ab_45_Delta_SP_1[0],start[2]-Vario_Bogen_ab_45_Delta_SP_0[2]-Vario_Bogen_ab_45_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_45, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_45_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_45_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + ende = (ende[0],ende[1]+ Vario_Bogen_auf_45_Delta_SP_0[0]+ Vario_Bogen_auf_45_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_45_Delta_SP_0[2]+ Vario_Bogen_auf_45_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + + elif winkel == 36: + block_Vario_ab_33 = "Vario_Bogen_ab_33°" + block_Vario_auf_33 = "Vario_Bogen_auf_33°" + import_block( block_Vario_ab_33 , lib_doc, doc) + import_block( block_Vario_auf_33 , lib_doc, doc) + block_Vario_ab_33 = dreh_block( block_Vario_ab_33 , doc, math.radians(3)) + block_Vario_auf_33 = dreh_block( block_Vario_auf_33 , doc, math.radians(36)) + Vario_Bogen_auf_33_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_33_Delta_SP_0")).split(",")) + Vario_Bogen_auf_33_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_33_Delta_SP_1")).split(",")) + Vario_Bogen_ab_33_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_33_Delta_SP_0")).split(",")) + Vario_Bogen_ab_33_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_33_Delta_SP_1")).split(",")) + # Vario_Bogen_auf_33_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_33_Delta_VP_1")).split(",")) + # Vario_Bogen_ab_33_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_33_Delta_VP_0")).split(",")) + + block.add_blockref(block_Vario_ab_33, (start[0]-x,start[1]-y- Vario_Bogen_ab_33_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_33_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_33_Delta_SP_0[0]- Vario_Bogen_ab_33_Delta_SP_1[0],start[2]-Vario_Bogen_ab_33_Delta_SP_0[2]-Vario_Bogen_ab_33_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_33, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_33_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_33_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + ende = (ende[0],ende[1]+ Vario_Bogen_auf_33_Delta_SP_0[0]+ Vario_Bogen_auf_33_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_33_Delta_SP_0[2]+ Vario_Bogen_auf_33_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + + elif winkel == 24: + block_Vario_ab_21 = "Vario_Bogen_ab_21°" + block_Vario_auf_21 = "Vario_Bogen_auf_21°" + import_block( block_Vario_ab_21 , lib_doc, doc) + import_block( block_Vario_auf_21 , lib_doc, doc) + block_Vario_ab_21 = dreh_block( block_Vario_ab_21 , doc, math.radians(3)) + block_Vario_auf_21 = dreh_block( block_Vario_auf_21 , doc, math.radians(24)) + Vario_Bogen_auf_21_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_21_Delta_SP_0")).split(",")) + Vario_Bogen_auf_21_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_21_Delta_SP_1")).split(",")) + Vario_Bogen_ab_21_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_21_Delta_SP_0")).split(",")) + Vario_Bogen_ab_21_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_21_Delta_SP_1")).split(",")) + # Vario_Bogen_auf_21_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_21_Delta_VP_1")).split(",")) + # Vario_Bogen_ab_21_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_21_Delta_VP_0")).split(",")) + + block.add_blockref(block_Vario_ab_21, (start[0]-x,start[1]-y- Vario_Bogen_ab_21_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_21_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_21_Delta_SP_0[0]- Vario_Bogen_ab_21_Delta_SP_1[0],start[2]-Vario_Bogen_ab_21_Delta_SP_0[2]-Vario_Bogen_ab_21_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_21, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_21_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_21_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + + ende = (ende[0],ende[1]+ Vario_Bogen_auf_21_Delta_SP_0[0]+ Vario_Bogen_auf_21_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_21_Delta_SP_0[2]+ Vario_Bogen_auf_21_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + elif winkel == 15: + block_Vario_ab_12 = "Vario_Bogen_ab_12°" + block_Vario_auf_12 = "Vario_Bogen_auf_12°" + import_block( block_Vario_ab_12 , lib_doc, doc) + import_block( block_Vario_auf_12 , lib_doc, doc) + block_Vario_ab_12 = dreh_block( block_Vario_ab_12, doc, math.radians(3)) + block_Vario_auf_12 = dreh_block( block_Vario_auf_12 , doc, math.radians(15)) + Vario_Bogen_auf_12_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_0_ab")).split(",")) + Vario_Bogen_auf_12_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_SP_1_ab")).split(",")) + Vario_Bogen_ab_12_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_0_ab")).split(",")) + Vario_Bogen_ab_12_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_SP_1_ab")).split(",")) + Vario_Bogen_auf_12_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_12_Delta_VP_1_ab")).split(",")) + Vario_Bogen_ab_12_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_12_Delta_VP_0_ab")).split(",")) + + block.add_blockref(block_Vario_ab_12, (start[0]-x,start[1]-y- Vario_Bogen_ab_12_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_12_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_12_Delta_SP_0[0]- Vario_Bogen_ab_12_Delta_SP_1[0],start[2]-Vario_Bogen_ab_12_Delta_SP_0[2]-Vario_Bogen_ab_12_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_12, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_12_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_12_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + + ende = (ende[0],ende[1]+ Vario_Bogen_auf_12_Delta_SP_0[0]+ Vario_Bogen_auf_12_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_12_Delta_SP_0[2]+ Vario_Bogen_auf_12_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + + elif winkel == 12: + block_Vario_ab_9 = "Vario_Bogen_ab_9°" + block_Vario_auf_9 = "Vario_Bogen_auf_9°" + import_block( block_Vario_ab_9 , lib_doc, doc) + import_block( block_Vario_auf_9 , lib_doc, doc) + block_Vario_ab_9 = dreh_block( block_Vario_ab_9, doc, math.radians(3)) + block_Vario_auf_9 = dreh_block( block_Vario_auf_9 , doc, math.radians(12)) + Vario_Bogen_auf_9_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_9_Delta_SP_0")).split(",")) + Vario_Bogen_auf_9_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_9_Delta_SP_1")).split(",")) + Vario_Bogen_ab_9_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_9_Delta_SP_0")).split(",")) + Vario_Bogen_ab_9_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_9_Delta_SP_1")).split(",")) + Vario_Bogen_auf_9_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_9_Delta_VP_1")).split(",")) + Vario_Bogen_ab_9_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_9_Delta_VP_0")).split(",")) + + block.add_blockref(block_Vario_ab_9, (start[0]-x,start[1]-y- Vario_Bogen_ab_9_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_9_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_9_Delta_SP_0[0]- Vario_Bogen_ab_9_Delta_SP_1[0],start[2]-Vario_Bogen_ab_9_Delta_SP_0[2]-Vario_Bogen_ab_9_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_9, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_9_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_9_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + + ende = (ende[0],ende[1]+ Vario_Bogen_auf_9_Delta_SP_0[0]+ Vario_Bogen_auf_9_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_9_Delta_SP_0[2]+ Vario_Bogen_auf_9_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + elif winkel == 9: + block_Vario_ab_6 = "Vario_Bogen_ab_6°" + block_Vario_auf_6 = "Vario_Bogen_auf_6°" + import_block( block_Vario_ab_6 , lib_doc, doc) + import_block( block_Vario_auf_6 , lib_doc, doc) + block_Vario_ab_6 = dreh_block( block_Vario_ab_6, doc, math.radians(3)) + block_Vario_auf_6 = dreh_block( block_Vario_auf_6 , doc, math.radians(9)) + Vario_Bogen_auf_6_Delta_SP_0 = tuple(float(x)for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_6_Delta_SP_0")).split(",")) + Vario_Bogen_auf_6_Delta_SP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_6_Delta_SP_1")).split(",")) + Vario_Bogen_ab_6_Delta_SP_0 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_6_Delta_SP_0")).split(",")) + Vario_Bogen_ab_6_Delta_SP_1 = tuple(float(x) for x in(config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_6_Delta_SP_1")).split(",")) + Vario_Bogen_auf_6_Delta_VP_1 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_auf_6_Delta_VP_1")).split(",")) + Vario_Bogen_ab_6_Delta_VP_0 = tuple(float(x) for x in (config.get("ILS 2.0 Variofoerderer","Vario_Bogen_ab_6_Delta_VP_0")).split(",")) + + block.add_blockref(block_Vario_ab_6, (start[0]-x,start[1]-y- Vario_Bogen_ab_6_Delta_SP_0[0],start[2]-hoehe_vario-Vario_Bogen_ab_6_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + start =(start[0], start[1]- Vario_Bogen_ab_6_Delta_SP_0[0]- Vario_Bogen_ab_6_Delta_SP_1[0],start[2]-Vario_Bogen_ab_6_Delta_SP_0[2]-Vario_Bogen_ab_6_Delta_SP_1[2]) + block.add_blockref(block_Vario_auf_6, (ende[0]-x,ende[1]-y+ Vario_Bogen_auf_6_Delta_SP_0[0],ende[2]-hoehe_vario +Vario_Bogen_auf_6_Delta_SP_0[2]),dxfattribs={"rotation": 270}) + + ende = (ende[0],ende[1]+ Vario_Bogen_auf_6_Delta_SP_0[0]+ Vario_Bogen_auf_6_Delta_SP_1[0],ende[2]+ Vario_Bogen_auf_6_Delta_SP_0[2]+ Vario_Bogen_auf_6_Delta_SP_1[2]) + line = Line.new(dxfattribs={"start":start,"end":ende }) + copy = line.copy() + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + elif winkel == 3: + line = Line.new(dxfattribs={"start": start, "end": ende}) + + copy= line.copy() + + copy.translate(-x,-y,-hoehe_vario) + block.add_entity(copy) + matrix = Matrix44.scale(-1,1,1) + block_links = doc.blocks.new(block_name_links, base_point=(0,0,0)) + for entity in block: + clone= entity.copy() + if entity.dxftype() == "INSERT": + if (entity.dxf.name == "400102632_ES-Element_90_links" or entity.dxf.name == "200000146_ES-Element_90_rechts" or + entity.dxf.name == "200000241_AS-Element_90_rechts" or entity.dxf.name == "200000217_AS-Element_90_links" + ): + block_links.add_entity(clone) + else: + clone.transform(matrix) + block_links.add_entity(clone) + else: + clone.transform(matrix) + block_links.add_entity(clone) + - def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config): """ Für Omniflo Gerade: zeichnet eine Linie (Mitte = Koordinate, Länge und Winkel aus Merkmale). @@ -1175,20 +1408,31 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, def erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, esoffset, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle, drehung0, laenge,blockname, hight = None, block_vario = None, vario_richtung = None, verbungden_höher = None): + halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) + if ((blockname not in doc.blocks and hight == "higher" and drehung0 == "GUZS" )or (vario_richtung == "Auf"and verbungden_höher == False and drehung0 == "GUZS")or (vario_richtung == "Ab" and verbungden_höher == True and drehung0 == "GUZS") ): if hight != None: block = doc.blocks.new(name=blockname, base_point=(0,0,0)) block_as = "200000241_AS-Element_90_rechts" import_block(block_as,lib_doc,doc) - if vario_richtung != None: + if vario_richtung == "Auf": start = (x , y + dy ,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset ,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] -hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start, ende + elif vario_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy ,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle)) + return start,ende + elif vario_richtung =="Horizontal": + # TODO + return start, ende + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy ,lower_hoehe_gefaehlle) @@ -1207,11 +1451,21 @@ def erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, if hight != None: block = doc.blocks.new(name=blockname, base_point=(0,0,0)) - if vario_richtung != None: + if vario_richtung == "Auf": start = (x , y + dy-esoffset,upper_hoehe_gefaehlle) ende = (x , y - dy ,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset-y ,start[2] -hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start, ende + elif vario_richtung == "Ab": + start = (x , y + dy,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset-y ,ende[2] -hoehe_gefaehlle)) + return start, ende + elif vario_richtung =="Horizontal": + # TODO + return start, ende + + start = (x , y + dy,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) @@ -1232,12 +1486,20 @@ def erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, if hight != None: block = doc.blocks.new(name=blockname, base_point=(0,0,0)) - if vario_richtung != None: + if vario_richtung == "Auf": start = (x , y + dy ,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle)) return start, ende + elif vario_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy ,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start, ende + elif vario_richtung =="Horizontal": + # TODO + return start, ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy ,lower_hoehe_gefaehlle) @@ -1257,11 +1519,19 @@ def erstellung_gefaelle_block_verbunenden_am_einen(x, y, doc, lib_doc, asoffset, block_es = "400102632_ES-Element_90_links" import_block(block_es,lib_doc,doc) - if vario_richtung != None: + if vario_richtung == "Auf": start = (x , y + dy-esoffset ,upper_hoehe_gefaehlle) ende = (x , y - dy,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle)) return start, ende + elif vario_richtung == "Ab": + start = (x , y + dy ,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start,ende + elif vario_richtung =="Horizontal": + # TODO + return start, ende start = (x , y + dy ,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) @@ -1288,7 +1558,9 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh lower_hoehe_gefaehlle = middle_hoehe if richtung2!= "DEFAULT" or am_kreisel != None: - if (blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS" and hight_position == "higher") or (((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel== 2 and erster_kreisel_höher == True)) and drehung0 == "GUZS" and drehung1== "GUZS"): + if ((blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS" and hight_position == "higher") or + (voerder_richtung == "Auf" and((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel== 2 and erster_kreisel_höher == True)) and drehung0 == "GUZS" and drehung1== "GUZS") or + (voerder_richtung == "Ab"and ((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel== 2 and erster_kreisel_höher == False)) and drehung0 == "GUZS" and drehung1== "GUZS")): block_es = "200000146_ES-Element_90_rechts" import_block(block_es,lib_doc,doc) if am_kreisel == None: @@ -1296,13 +1568,16 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel!= None: + if voerder_richtung == "Auf": start = (x , y+ dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y1 ,z1) block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset-y ,start[2] -hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start,ende - - + elif(voerder_richtung == "Ab"): + start = (x , y1 ,z1) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset-y ,ende[2] -hoehe_gefaehlle)) + return start, ende start = (x , y + dy,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende}) @@ -1314,7 +1589,8 @@ 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] -hoehe_gefaehlle)) - elif (blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS") or (am_kreisel != None and drehung0 == "GUZS" and drehung1 == "GUZS"): + elif ((blockname not in doc.blocks and drehung0 == "GUZS" and drehung1 == "GUZS") or + (am_kreisel != None and drehung0 == "GUZS" and drehung1 == "GUZS")): if am_kreisel == None: block = doc.blocks.new(name=blockname, base_point=(0,0,0)) halbe_laenge = laenge / 2 @@ -1322,11 +1598,17 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh import_block(block_as,lib_doc,doc) dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y1 ,z1) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] -hoehe_gefaehlle), dxfattribs={"rotation": 180}) return start,ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y1 ,z1) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle)) + return start, ende + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) @@ -1341,7 +1623,9 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle)) elif ((blockname not in doc.blocks and (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "higher"))or - ((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel == 2 and erster_kreisel_höher == True))and (drehung0 == "UZS" and drehung1 == "GUZS")): + (voerder_richtung == "Auf" and((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel == 2 and erster_kreisel_höher == True))and (drehung0 == "UZS" and drehung1 == "GUZS")) or + (voerder_richtung == "Ab" and((am_kreisel == 1 and erster_kreisel_höher == True) or (am_kreisel ==2 and erster_kreisel_höher ==False))and (drehung0 == "GUZS" and drehung1 == "UZS"))): + block_es = "400102632_ES-Element_90_links" import_block(block_es,lib_doc,doc) if am_kreisel == None: @@ -1349,11 +1633,16 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y1 ,z1) block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle)) return start,ende + elif voerder_richtung == "Ab": + start = (x , y1 ,z1) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es,(ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle), dxfattribs={"rotation": 180}) + return start,ende start = (x , y + dy ,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) @@ -1367,8 +1656,9 @@ 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] - hoehe_gefaehlle), dxfattribs={"rotation": 180}) elif (blockname not in doc.blocks and (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")or - ((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False)and (drehung0 == "UZS" and drehung1 == "GUZS"))): - + (voerder_richtung == "Auf" and((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False))and (drehung0 == "UZS" and drehung1 == "GUZS")) or + (voerder_richtung == "Ab"and ((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel == 2 and erster_kreisel_höher == True))and (drehung0 == "GUZS" and drehung1 == "UZS"))): + block_as = "200000241_AS-Element_90_rechts" import_block(block_as,lib_doc,doc) if am_kreisel == None: @@ -1376,14 +1666,19 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y1,z1) ende = (x , y - dy +asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start,ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y1 ,z1) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle)) + return start,ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) - ende = (x , y1 - dy ,z1) + ende = (x , y - dy ,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende}) line.dxf.layer = "6-SP" @@ -1394,19 +1689,26 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh 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")or - (((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel== 2 and erster_kreisel_höher == True)) and drehung0 == "UZS" and drehung1== "UZS")): + (voerder_richtung == "Auf" and((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel== 2 and erster_kreisel_höher == True)) and drehung0 == "UZS" and drehung1== "UZS")or + (voerder_richtung == "Ab" and((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel== 2 and erster_kreisel_höher == False)) and drehung0 == "UZS" and drehung1== "UZS")): if am_kreisel == None: block = doc.blocks.new(name=blockname, base_point=(0,0,0)) halbe_laenge = laenge / 2 block_es = "400102632_ES-Element_90_links" import_block(block_es,lib_doc,doc) dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y1,z1) block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle)) return start,ende + elif voerder_richtung == "Ab": + start = (x , y1 ,z1) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start, ende + start = (x , y + dy ,upper_hoehe_gefaehlle) @@ -1421,7 +1723,8 @@ 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] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) - elif (((blockname not in doc.blocks and drehung0 == "UZS" and drehung1 == "UZS")or (am_kreisel!= None and drehung0 == "UZS" and drehung1 == "UZS"))): + elif (((blockname not in doc.blocks and drehung0 == "UZS" and drehung1 == "UZS")or + (am_kreisel!= None and drehung0 == "UZS" and drehung1 == "UZS"))): block_as = "200000217_AS-Element_90_links" import_block(block_as,lib_doc,doc) @@ -1430,11 +1733,16 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y1,z1) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle)) return start, ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y1 ,z1) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start,ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy ,lower_hoehe_gefaehlle) @@ -1451,7 +1759,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh elif (blockname not in doc.blocks and ((drehung0 == "UZS" and drehung1 == "GUZS" and hight_position== "higher"))or - ((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False))and (drehung0 == "GUZS" and drehung1 == "UZS")): + (voerder_richtung == "Auf"and ((am_kreisel == 1 and erster_kreisel_höher == False) or (am_kreisel ==2 and erster_kreisel_höher ==True))and (drehung0 == "GUZS" and drehung1 == "UZS")) or + (voerder_richtung == "Ab" and((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False))and (drehung0 == "UZS" and drehung1 == "GUZS"))): block_es = "200000146_ES-Element_90_rechts" import_block(block_es,lib_doc,doc) if am_kreisel == None: @@ -1459,12 +1768,18 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel != None: - start = (x , y + dy - esoffset,z1) - ende = (x , y1 ,lower_hoehe_gefaehlle) + if voerder_richtung == "Auf": + start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) + ende = (x , y1 ,z1) block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start, ende - + elif voerder_richtung == "Ab": + + start = (x , y1,z1) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle)) + return start,ende + start = (x , y + dy,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende}) @@ -1480,7 +1795,8 @@ 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] - hoehe_gefaehlle)) elif (blockname not in doc.blocks and (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")or - ((am_kreisel == 1 and erster_kreisel_höher == False) or (am_kreisel ==2 and erster_kreisel_höher ==True))and (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")): + (voerder_richtung == "Auf"and((am_kreisel == 1 and erster_kreisel_höher == True)or (am_kreisel == 2 and erster_kreisel_höher == False))and (drehung0 == "GUZS" and drehung1 == "UZS")) or + (voerder_richtung == "Ab" and((am_kreisel == 1 and erster_kreisel_höher == False)or (am_kreisel == 2 and erster_kreisel_höher == True))and (drehung0 == "UZS" and drehung1 == "GUZS"))): block_as = "200000217_AS-Element_90_links" import_block(block_as,lib_doc,doc) if am_kreisel == None: @@ -1488,11 +1804,16 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if am_kreisel != None: + if voerder_richtung == "Auf": start = (x , y1,z1) ende = (x , y - dy + asoffset ,lower_hoehe_gefaehlle) block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle)) return start, ende + elif voerder_richtung == "Ab": + start = (x , y +dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y1 ,z1) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start,ende start = (x , y +dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy ,lower_hoehe_gefaehlle) @@ -1518,13 +1839,18 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if hight_position == None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset -y,start[2] -hoehe_gefaehlle), dxfattribs={"rotation": 180}) block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]-asoffset-y ,ende[2] -hoehe_gefaehlle), dxfattribs={"rotation": 180}) return start,ende - + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] -hoehe_gefaehlle)) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset-y ,ende[2] -hoehe_gefaehlle)) + return start, ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) @@ -1543,7 +1869,8 @@ 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] -hoehe_gefaehlle)) elif (blockname not in doc.blocks and((drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "higher")or (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")) or - voerder_richtung != None and drehung0 == "UZS"and drehung1 == "GUZS"): + (voerder_richtung == "Auf" and drehung0 == "UZS"and drehung1 == "GUZS") or + (voerder_richtung == "Ab" and drehung0 == "GUZS" and drehung1 == "UZS")) : block_as = "200000241_AS-Element_90_rechts" import_block(block_as,lib_doc,doc) block_es = "400102632_ES-Element_90_links" @@ -1553,12 +1880,18 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if hight_position == None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es,(start[0]-x ,start[1]+ esoffset -y,start[2] - hoehe_gefaehlle)) block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]- asoffset-y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) return start, ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle)) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]- esoffset-y,ende[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + return start, ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende}) @@ -1583,12 +1916,19 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if hight_position == None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle)) block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle)) return start, ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle) ,dxfattribs={"rotation": 180}) + return start, ende + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende}) @@ -1606,7 +1946,9 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh 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")))or - voerder_richtung != None and drehung0 == "GUZS" and drehung1 == "UZS"): + (voerder_richtung == "Auf" and drehung0 == "GUZS" and drehung1 == "UZS") or + (voerder_richtung == "Ab" and drehung0 == "UZS"and drehung1 == "GUZS")) : + block_as = "200000217_AS-Element_90_links" import_block(block_as,lib_doc,doc) @@ -1617,13 +1959,20 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, asoffset, esoffset, upper_hoeh halbe_laenge = laenge / 2 dy = halbe_laenge * math.cos(0) - if hight_position == None: + if voerder_richtung == "Auf": start = (x , y + dy - esoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle) block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]-asoffset -y,ende[2] - hoehe_gefaehlle)) return start,ende + elif voerder_richtung == "Ab": + start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) + ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) + + block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset -y,start[2] - hoehe_gefaehlle),dxfattribs={"rotation": 180}) + block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset -y,ende[2] - hoehe_gefaehlle)) + return start,ende start = (x , y + dy - asoffset,upper_hoehe_gefaehlle) ende = (x , y - dy + esoffset,lower_hoehe_gefaehlle) line = Line.new(dxfattribs={"start": start, "end": ende})