From 9efee64c1e63badabd5ddab7d4137a5d68d963b6 Mon Sep 17 00:00:00 2001
From: Paul Wolok
Date: Mon, 8 Dec 2025 07:28:56 +0100
Subject: [PATCH] changes to the layer system
---
lib/Elemente/VarioFoerderer.py | 20 +++---
lib/as_es_methoden.py | 117 +++++++++++++++++----------------
lib/plant2dxf.py | 22 +++----
3 files changed, 82 insertions(+), 77 deletions(-)
diff --git a/lib/Elemente/VarioFoerderer.py b/lib/Elemente/VarioFoerderer.py
index a16c0e7..912dc3c 100644
--- a/lib/Elemente/VarioFoerderer.py
+++ b/lib/Elemente/VarioFoerderer.py
@@ -136,8 +136,8 @@ class VarioFoerderer(BaseModel):
block_Vario_Motorstation_500mm = "Vario_Motorstation_500mm"
plant2dxf.import_block(block_Vario_Motorstation_500mm, lib_doc, doc)
plant2dxf.import_block(block_Vario_Umlenkstation_500mm , lib_doc, doc)
- block_Vario_Motorstation_500mm = plant2dxf.dreh_block(block_Vario_Motorstation_500mm,doc,math.radians(winkel_motor))
- block_Vario_Umlenkstation_500mm = plant2dxf.dreh_block( block_Vario_Umlenkstation_500mm, doc,math.radians(winkel_umlenk))
+ block_Vario_Motorstation_500mm = plant2dxf.dreh_block(block_Vario_Motorstation_500mm,doc,lib_doc,math.radians(winkel_motor))
+ block_Vario_Umlenkstation_500mm = plant2dxf.dreh_block( block_Vario_Umlenkstation_500mm, doc,lib_doc,math.radians(winkel_umlenk))
if umlenk_vorhanden == True:
block.add_blockref(block_Vario_Umlenkstation_500mm,(ende[0] -x,ende[1] -y + umlenk_offset_x/2,ende[2] - hoehe_vario -umlenk_offset_z/2 ),dxfattribs={"rotation": 90})
ende = (ende[0] ,ende[1] + umlenk_offset_x,ende[2] - umlenk_offset_z)
@@ -154,8 +154,8 @@ class VarioFoerderer(BaseModel):
auf_attrib =plant2dxf.import_block(block_Vario_Bogen_auf, lib_doc, doc)
ab_attrib =plant2dxf.import_block(block_Vario_Bogen_ab, lib_doc, doc)
- block_Vario_Bogen_auf = plant2dxf.dreh_block(block_Vario_Bogen_auf, doc,math.radians(winkel_core))
- block_Vario_Bogen_ab = plant2dxf.dreh_block(block_Vario_Bogen_ab, doc,math.radians(-winkel))
+ block_Vario_Bogen_auf = plant2dxf.dreh_block(block_Vario_Bogen_auf, doc,lib_doc,math.radians(winkel_core))
+ block_Vario_Bogen_ab = plant2dxf.dreh_block(block_Vario_Bogen_ab, doc,lib_doc,math.radians(-winkel))
Vario_Bogen_auf_Delta_SP_0 = list(float(att)for att in re.split(r"[;,]", auf_attrib["DELTA_SP_0"]))
Vario_Bogen_auf_Delta_SP_1 = list(float(att) for att in re.split(r"[;,]", auf_attrib["DELTA_SP_1"]))
@@ -224,8 +224,8 @@ class VarioFoerderer(BaseModel):
block_Vario_Bogen_ab_3 = str(config.get("ILS 2.0 Variofoerderer_Bogen_block_namen","bogen_3_ab"))
auf_3_attrib =plant2dxf.import_block(block_Vario_Bogen_auf_3, lib_doc, doc)
ab_3_attrib = plant2dxf.import_block(block_Vario_Bogen_ab_3, lib_doc, doc)
- block_Vario_Bogen_auf_3= plant2dxf.dreh_block(block_Vario_Bogen_auf_3, doc,math.radians(3))
- block_Vario_Bogen_ab_3 = plant2dxf.dreh_block(block_Vario_Bogen_ab_3, doc,math.radians(0))
+ block_Vario_Bogen_auf_3= plant2dxf.dreh_block(block_Vario_Bogen_auf_3, doc,lib_doc,math.radians(3))
+ block_Vario_Bogen_ab_3 = plant2dxf.dreh_block(block_Vario_Bogen_ab_3, doc,lib_doc,math.radians(0))
Vario_Bogen_auf_3_Delta_SP_0 = list(float(att)for att in re.split(r"[;,]", auf_3_attrib["DELTA_SP_0"]))
Vario_Bogen_auf_3_Delta_SP_1 = list(float(att) for att in re.split(r"[;,]", auf_3_attrib["DELTA_SP_1"]))
Vario_Bogen_ab_3_Delta_SP_0 = list(float(att) for att in re.split(r"[;,]", ab_3_attrib["DELTA_SP_0"]))
@@ -336,8 +336,8 @@ class VarioFoerderer(BaseModel):
block_Vario_Motorstation_500mm = "Vario_Motorstation_500mm"
plant2dxf.import_block( block_Vario_Motorstation_500mm, lib_doc, doc)
plant2dxf.import_block( block_Vario_Umlenkstation_500mm , lib_doc, doc)
- block_Vario_Motorstation_500mm = plant2dxf.dreh_block( block_Vario_Motorstation_500mm, doc,math.radians(winkel_motor))
- block_Vario_Umlenkstation_500mm = plant2dxf.dreh_block( block_Vario_Umlenkstation_500mm , doc,math.radians(winkel_umlenk))
+ block_Vario_Motorstation_500mm = plant2dxf.dreh_block( block_Vario_Motorstation_500mm, doc,lib_doc,math.radians(winkel_motor))
+ block_Vario_Umlenkstation_500mm = plant2dxf.dreh_block( block_Vario_Umlenkstation_500mm , doc,lib_doc,math.radians(winkel_umlenk))
if umlenk_vorhanden == True:
block.add_blockref(block_Vario_Umlenkstation_500mm,(start[0] -x,start[1] -y - umlenk_offset_x/2, start[2] - hoehe_vario -umlenk_offset_z/2 ),dxfattribs={"rotation": 270})
start_Umlenkstation_VP = start[0] - vario_abstand, start[1] -500 *math.cos(math.radians(-winkel_umlenk))+ math.sin(math.radians(-winkel_umlenk))* -45,start[2] + math.sin(math.radians(-winkel_umlenk))*500+ math.cos(math.radians(-winkel_umlenk))*-45
@@ -359,8 +359,8 @@ class VarioFoerderer(BaseModel):
block_Vario_Bogen_ab = (f"Vario_Bogen_ab_{winkel_minus}°")
ab_attrib =plant2dxf.import_block( block_Vario_Bogen_ab , lib_doc, doc)
auf_attrib =plant2dxf.import_block( block_Vario_Bogen_auf, lib_doc, doc)
- block_Vario_Bogen_ab = plant2dxf.dreh_block( block_Vario_Bogen_ab, doc, math.radians(winkel_core))
- block_Vario_Bogen_auf= plant2dxf.dreh_block( block_Vario_Bogen_auf, doc, math.radians(winkel))
+ block_Vario_Bogen_ab = plant2dxf.dreh_block( block_Vario_Bogen_ab, doc,lib_doc, math.radians(winkel_core))
+ block_Vario_Bogen_auf= plant2dxf.dreh_block( block_Vario_Bogen_auf, doc,lib_doc, math.radians(winkel))
Vario_Bogen_auf_Delta_SP_0 = list(float(att)for att in re.split(r"[;,]", auf_attrib["DELTA_SP_0"]))
Vario_Bogen_auf_Delta_SP_1 = list(float(att) for att in re.split(r"[;,]", auf_attrib["DELTA_SP_1"]))
Vario_Bogen_ab_Delta_SP_0 = list(float(att) for att in re.split(r"[;,]", ab_attrib["DELTA_SP_0"]))
diff --git a/lib/as_es_methoden.py b/lib/as_es_methoden.py
index 192da55..5ee2b15 100644
--- a/lib/as_es_methoden.py
+++ b/lib/as_es_methoden.py
@@ -20,33 +20,37 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
(vario_richtung == "Ab" and verbungden_höher == True and drehung0 == "GUZS")or (vario_richtung == "Horizontal" and drehung0 == "GUZS" and (mit_horizontal_verbunden == "unten_drehung_0_or_-90" or mit_horizontal_verbunden == "oben_drehung_-180_or_-270"))):
block_as = "200000241_AS-Element_90_rechts"
plant2dxf.import_block(block_as,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc, block_as)
elif ((hight == "lower" and drehung0 == "GUZS") or (vario_richtung == "Auf"and verbungden_höher == True and drehung0 == "GUZS") or
(vario_richtung == "Ab" and verbungden_höher == False and drehung0 == "GUZS")or (vario_richtung == "Horizontal" and drehung0 == "GUZS" and (mit_horizontal_verbunden == "oben_drehung_0_or_-90" or mit_horizontal_verbunden == "unten_drehung_-180_or_-270"))):
block_es = "200000146_ES-Element_90_rechts"
plant2dxf.import_block(block_es,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc, block_es)
elif ((hight == "higher" and drehung0 == "UZS")or (vario_richtung == "Auf"and verbungden_höher == False and drehung0 == "UZS") or
(vario_richtung == "Ab" and verbungden_höher == True and drehung0 == "UZS")or (vario_richtung == "Horizontal" and drehung0 == "UZS" and (mit_horizontal_verbunden == "unten_drehung_0_or_-90" or mit_horizontal_verbunden == "oben_drehung_-180_or_-270"))):
block_as = "200000217_AS-Element_90_links"
plant2dxf.import_block(block_as,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc, block_as)
elif (( hight == "lower" and drehung0 == "UZS") or (vario_richtung == "Auf" and verbungden_höher == True and drehung0 == "UZS") or
(vario_richtung == "Ab" and verbungden_höher == False and drehung0 == "UZS")or (vario_richtung == "Horizontal" and drehung0 == "UZS" and (mit_horizontal_verbunden == "oben_drehung_0_or_-90" or mit_horizontal_verbunden == "unten_drehung_-180_or_-270"))):
block_es = "400102632_ES-Element_90_links"
plant2dxf.import_block(block_es,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc, block_es)
if block_as != None:
- block_as = plant2dxf.dreh_block(block_as,doc,math.radians(winkel_as))
+ block_as = plant2dxf.dreh_block(block_as,doc,lib_doc,math.radians(winkel_as))
if vario_richtung == "Auf" or vario_richtung =="Horizontal":
start = (x , y + dy ,upper_hoehe_gefaehlle)
ende = (x , y - dy + asoffset_y ,lower_hoehe_gefaehlle - asoffset_z)
- block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset_y -y,ende[2] -hoehe_gefaehlle + asoffset_z),dxfattribs={"rotation": 180})
+ block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset_y -y,ende[2] -hoehe_gefaehlle + asoffset_z),dxfattribs={"rotation": 180,"layer":layer,"color":color})
return start, ende
elif vario_richtung == "Ab":
start = (x , y + dy - asoffset_y,upper_hoehe_gefaehlle - asoffset_z)
ende = (x , y - dy ,lower_hoehe_gefaehlle)
- block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] -hoehe_gefaehlle + asoffset_z))
+ block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] -hoehe_gefaehlle + asoffset_z),dxfattribs={"layer":layer,"color":color})
return start,ende
if laenge > asoffset:
@@ -57,22 +61,22 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
copy= line.copy()
copy.translate(-x,-y,-hoehe_gefaehlle)
gefaelle_block.add_entity(copy)
- gefaelle_block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] -hoehe_gefaehlle + asoffset_z))
+ gefaelle_block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] -hoehe_gefaehlle + asoffset_z),dxfattribs={"layer":layer,"color":color})
return False
else:
- msp.add_blockref(block_as,(x,y,upper_hoehe_gefaehlle))
+ msp.add_blockref(block_as,(x,y,upper_hoehe_gefaehlle),dxfattribs={"layer":layer,"color":color})
return True
elif block_es != None:
- block_es = plant2dxf.dreh_block(block_es,doc,math.radians(winkel_es))
+ block_es = plant2dxf.dreh_block(block_es,doc,lib_doc,math.radians(winkel_es))
if vario_richtung == "Auf" or vario_richtung =="Horizontal":
start = (x , y + dy-esoffset_y ,upper_hoehe_gefaehlle + esoffset_z)
ende = (x , y - dy,lower_hoehe_gefaehlle)
- block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset_y -y,start[2] - hoehe_gefaehlle - esoffset_z),dxfattribs={"rotation": 180})
+ block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset_y -y,start[2] - hoehe_gefaehlle - esoffset_z),dxfattribs={"rotation": 180,"layer":layer,"color":color})
return start, ende
elif vario_richtung == "Ab":
start = (x , y + dy ,upper_hoehe_gefaehlle)
ende = (x , y - dy + esoffset_y,lower_hoehe_gefaehlle + esoffset_z)
- block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - hoehe_gefaehlle -esoffset_z))
+ block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - hoehe_gefaehlle -esoffset_z),dxfattribs={"layer":layer,"color":color})
return start,ende
if laenge > esoffset:
@@ -83,10 +87,10 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
copy= line.copy()
copy.translate(-x ,-y,-hoehe_gefaehlle)
gefaelle_block.add_entity(copy)
- gefaelle_block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - hoehe_gefaehlle -esoffset_z))
+ gefaelle_block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - hoehe_gefaehlle -esoffset_z),dxfattribs={"layer":layer,"color":color})
return False
else:
- msp.add_blockref(block_es,(x,y,lower_hoehe_gefaehlle))
+ msp.add_blockref(block_es,(x,y,lower_hoehe_gefaehlle),dxfattribs={"layer":layer,"color":color})
return True
def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2, drehung0, drehung1, laenge, hight_position, blockname,config, block_vario = None,voerder_richtung = None, am_kreisel = None, erster_kreisel_höher = None,y1=None,z1 =None):
@@ -110,66 +114,62 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
lower_hoehe_gefaehlle = middle_hoehe
if richtung2!= "DEFAULT" or am_kreisel != None:
+ # Schaut bei gleicher Orentierung
if ((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")):
+ (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") or
+ # Schaut bei ungleicher Orentierung
+ ((drehung0 == "UZS" 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 == "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"
plant2dxf.import_block(block_es,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
elif ((drehung0 == "GUZS" and drehung1 == "GUZS") or
- (am_kreisel != None and drehung0 == "GUZS" and drehung1 == "GUZS")):
+ (am_kreisel != None and drehung0 == "GUZS" and drehung1 == "GUZS") or
+ (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")or
+ (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"
plant2dxf.import_block(block_as,lib_doc,doc)
-
- elif (( drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "higher")or
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+
+ elif ((drehung0 == "UZS" and drehung1 == "UZS" 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 == "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") or
+
+ (drehung0 == "GUZS" and drehung1 == "UZS" 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 == "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"
plant2dxf.import_block(block_es,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
- elif ((drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")or
- (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"
- plant2dxf.import_block(block_as,lib_doc,doc)
-
- elif ((drehung0 == "UZS" and drehung1 == "UZS" 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 == "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")):
-
- block_es = "400102632_ES-Element_90_links"
- plant2dxf.import_block(block_es,lib_doc,doc)
elif (((drehung0 == "UZS" and drehung1 == "UZS")or
- (am_kreisel!= None and drehung0 == "UZS" and drehung1 == "UZS"))):
- block_as = "200000217_AS-Element_90_links"
- plant2dxf.import_block(block_as,lib_doc,doc)
-
- elif (((drehung0 == "UZS" 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 == "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"
- plant2dxf.import_block(block_es,lib_doc,doc)
-
- elif ((drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")or
+ (am_kreisel!= None and drehung0 == "UZS" and drehung1 == "UZS")) or
+ (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")or
(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"))):
+ (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"
plant2dxf.import_block(block_as,lib_doc,doc)
+ layer, color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+
if block_es != None:
- block_es = plant2dxf.dreh_block(block_es,doc,math.radians(winkel_es))
+ block_es = plant2dxf.dreh_block(block_es,doc,lib_doc,math.radians(winkel_es))
if voerder_richtung == "Auf":
start = (x , y+ dy - esoffset_y,upper_hoehe_gefaehlle + esoffset_z)
ende = (x , y1 ,z1)
- block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset_y-y ,start[2] - esoffset_z-hoehe_gefaehlle),dxfattribs={"rotation": 180})
+ block_vario.add_blockref(block_es, (start[0]-x ,start[1]+esoffset_y-y ,start[2] - esoffset_z-hoehe_gefaehlle),dxfattribs={"rotation": 180,"layer": layer,"color": color})
return start,ende
elif(voerder_richtung == "Ab"):
start = (x , y1 ,z1)
ende = (x , y - dy + esoffset_y,lower_hoehe_gefaehlle + esoffset_z)
- block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y-y ,ende[2] - esoffset_z -hoehe_gefaehlle))
+ block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y-y ,ende[2] - esoffset_z -hoehe_gefaehlle),dxfattribs={"layer": layer,"color": color})
return start, ende
elif am_kreisel == None and blockname not in doc.blocks:
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
@@ -180,18 +180,18 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
copy= line.copy()
copy.translate(-x,-y,-hoehe_gefaehlle)
block.add_entity(copy)
- block.add_blockref(block_es, (ende[0]-x ,ende[1]- esoffset_y -y ,ende[2] -hoehe_gefaehlle ))
+ block.add_blockref(block_es, (ende[0]-x ,ende[1]- esoffset_y -y ,ende[2] -hoehe_gefaehlle ),dxfattribs={"layer": layer,"color": color})
if block_as != None:
- block_as = plant2dxf.dreh_block(block_as,doc,math.radians(winkel_as))
+ block_as = plant2dxf.dreh_block(block_as,doc,lib_doc,math.radians(winkel_as))
if voerder_richtung == "Auf":
start = (x , y1,z1)
ende = (x , y - dy + asoffset_y ,lower_hoehe_gefaehlle)
- block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180})
+ block_vario.add_blockref(block_as,(ende[0]-x ,ende[1]-asoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180,"layer": layer,"color": color})
return start, ende
elif voerder_richtung == "Ab":
start = (x , y +dy - asoffset_y,upper_hoehe_gefaehlle - asoffset_z)
ende = (x , y1 ,z1)
- block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle))
+ block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle),dxfattribs={"layer": layer,"color": color})
return start,ende
elif am_kreisel == None and blockname not in doc.blocks:
block = doc.blocks.new(name=blockname, base_point=(0,0,0))
@@ -211,7 +211,8 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
plant2dxf.import_block(block_as,lib_doc,doc)
block_es = "200000146_ES-Element_90_rechts"
plant2dxf.import_block(block_es,lib_doc,doc)
-
+ as_layer, as_color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+ es_layer, es_color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
elif (((drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "higher")or (drehung0 == "UZS" and drehung1 == "GUZS" and hight_position == "lower")) or
(voerder_richtung == "Auf" and drehung0 == "UZS"and drehung1 == "GUZS") or
(voerder_richtung == "Ab" and drehung0 == "GUZS" and drehung1 == "UZS")) :
@@ -219,13 +220,15 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
plant2dxf.import_block(block_as,lib_doc,doc)
block_es = "400102632_ES-Element_90_links"
plant2dxf.import_block(block_es,lib_doc,doc)
-
+ as_layer, as_color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+ es_layer, es_color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
elif (( drehung0 == "UZS" and drehung1 == "UZS") or (voerder_richtung != None and drehung0 == "UZS" and drehung1 == "UZS")):
block_as = "200000217_AS-Element_90_links"
plant2dxf.import_block(block_as,lib_doc,doc)
block_es = "400102632_ES-Element_90_links"
plant2dxf.import_block(block_es,lib_doc,doc)
-
+ as_layer, as_color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+ es_layer, es_color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
elif ((((drehung0 == "UZS" and drehung1 == "GUZS" and hight_position== "higher")or (drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")))or
(voerder_richtung == "Auf" and drehung0 == "GUZS" and drehung1 == "UZS") or
(voerder_richtung == "Ab" and drehung0 == "UZS"and drehung1 == "GUZS")) :
@@ -234,8 +237,10 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
plant2dxf.import_block(block_as,lib_doc,doc)
block_es = "200000146_ES-Element_90_rechts"
plant2dxf.import_block(block_es,lib_doc,doc)
- block_as = plant2dxf.dreh_block(block_as,doc,math.radians(winkel_as))
- block_es = plant2dxf.dreh_block(block_es,doc,math.radians(winkel_es))
+ as_layer, as_color = plant2dxf.get_insert_color_layer(lib_doc,block_as)
+ es_layer, es_color = plant2dxf.get_insert_color_layer(lib_doc,block_es)
+ block_as = plant2dxf.dreh_block(block_as,doc,lib_doc,math.radians(winkel_as))
+ block_es = plant2dxf.dreh_block(block_es,doc,lib_doc,math.radians(winkel_es))
halbe_laenge = laenge / 2
dy = halbe_laenge * math.cos(0)
@@ -250,22 +255,22 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
copy.translate(-x ,-y,-hoehe_gefaehlle)
block.add_entity(copy)
- block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle ))
- block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle ))
+ block.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle),dxfattribs={"layer": as_layer,"color": as_color})
+ block.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle ),dxfattribs={"layer": es_layer,"color": es_color})
return
if voerder_richtung == "Auf":
start = (x , y + dy - esoffset_y,upper_hoehe_gefaehlle + esoffset_z)
ende = (x , y - dy + asoffset,lower_hoehe_gefaehlle -asoffset_z)
- block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset_y -y,start[2] - esoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180})
- block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]-asoffset_y -y,ende[2] + asoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180})
+ block_vario.add_blockref(block_es,(start[0]-x ,start[1]+esoffset_y -y,start[2] - esoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180,"layer": as_layer,"color": as_color})
+ block_vario.add_blockref(block_as, (ende[0]-x ,ende[1]-asoffset_y -y,ende[2] + asoffset_z - hoehe_gefaehlle ),dxfattribs={"rotation": 180,"layer": es_layer,"color": es_color})
return start,ende
elif voerder_richtung == "Ab":
start = (x , y + dy - asoffset_y,upper_hoehe_gefaehlle - asoffset_z)
ende = (x , y - dy + esoffset_y,lower_hoehe_gefaehlle + esoffset_z)
- block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle ))
- block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle))
+ block_vario.add_blockref(block_as,(start[0]-x ,start[1]+asoffset_y -y,start[2] + asoffset_z - hoehe_gefaehlle),dxfattribs={"layer": as_layer,"color": as_color})
+ block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - esoffset_z - hoehe_gefaehlle),dxfattribs={"layer": es_layer,"color": es_color})
return start,ende
diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py
index 4de0253..e481114 100644
--- a/lib/plant2dxf.py
+++ b/lib/plant2dxf.py
@@ -183,11 +183,12 @@ def import_block(block_name: str, from_doc, to_doc, winkel = None) -> None:
if att_def != {}:
return att_def
-def dreh_block(block_name: str, to_doc, winkel) :
+def dreh_block(block_name: str, to_doc,lib_doc, winkel) :
"""Nimmt ein schon importierten Block und erstellt einen neuen der an der y_axis gedreht wird
hauptsächlich für vario Bogen aktuell verwendet
"""
dreh_block_name = block_name +f"_{math.degrees(winkel)}"
+ layer, color = get_insert_color_layer(lib_doc,block_name)
if (dreh_block_name in to_doc.blocks):
return dreh_block_name
block_zwischen = to_doc.blocks.new(name=block_name + f"zwischenschrit_{winkel}", base_point=(0,0,0))
@@ -197,7 +198,7 @@ def dreh_block(block_name: str, to_doc, winkel) :
else:
rotation_matrix = Matrix44.axis_rotate(Y_AXIS, winkel)
- block_zwischen.add_blockref(block_name,(0,0,0))
+ block_zwischen.add_blockref(block_name,(0,0,0),dxfattribs={"layer":layer,"color": color})
for e in block_zwischen:
copy = e.copy()
copy.transform(rotation_matrix)
@@ -292,6 +293,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
start = x +dx, y + dy,upper_hoehe_gefaehlle
if "6-SP" not in doc.layers:
doc.layers.add(name="6-SP", color=7)
+ gefaelle_layer = "6-SP"
verbunden_am_einen = False
richtung2 ="DEFAULT"
@@ -400,7 +402,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
line = Line.new(dxfattribs={"start":start,"end":ende})
line.translate(-x,-y,-hoehe_gefaehlle)
block.add_entity(line)
- msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})
return
if upper_hoehe_gefaehlle == hoehe0:
hight ="higher"
@@ -412,7 +414,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{drehung0}_{hoehe_gefaehlle}_{verbunden_am_einen}_{hight}_{hat_umlenk_0}_{hat_motor_0}_{tefkurve_0}"
if blockname in doc.blocks:
- bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})
a =bref.add_attrib(
tag= "NAME",
text= merkmale.get("bezeichner"),
@@ -448,7 +450,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
only_es_or_as = as_es_methoden.erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle, drehung0, laenge, blockname,config,hight,None,None,None,block,start,ende)
if only_es_or_as == False:
- bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})
a =bref.add_attrib(
tag= "NAME",
text= merkmale.get("bezeichner"),
@@ -594,9 +596,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
else:
blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaehlle}_{drehung0}_{drehung1}_{hight_position}_{unterschiedlich}_{richtung2}_{verbunden_am_einen}"
as_es_methoden.gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_hoehe_gefaehlle, hoehe_gefaehlle,richtung2,drehung0, drehung1, laenge, hight_position,blockname,config)
- blockref_layer, color = get_insert_color_layer(lib_doc, blockname)
-
- bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation, "layer": blockref_layer })
+ bref =msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation, "layer": gefaelle_layer})
a = bref.add_attrib(
tag= "NAME",
text= merkmale.get("bezeichner"),
@@ -640,7 +640,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
line = Line.new(dxfattribs={"start":start,"end":ende})
line.translate(-x,-y,-hoehe_gefaehlle)
block.add_entity(line)
- msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})
elif hat_motor_0 == None and hat_umlenk_0 == True and tefkurve_1 == None:
if blockname not in doc.blocks:
block = doc.blocks.new(name=blockname,base_point = (0,0,0))
@@ -652,7 +652,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
line = Line.new(dxfattribs={"start":start,"end":ende})
line.translate(-x,-y,-hoehe_gefaehlle)
block.add_entity(line)
- msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})
else:
if blockname not in doc.blocks:
block = doc.blocks.new(name=blockname,base_point = (0,0,0))
@@ -669,7 +669,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
line = Line.new(dxfattribs={"start":start,"end":ende})
line.translate(-x,-y,-hoehe_gefaehlle)
block.add_entity(line)
- msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation})
+ msp.add_blockref(blockname,(x,y,hoehe_gefaehlle),dxfattribs={"rotation": rotation,"layer": gefaelle_layer})