Paar namens änderung rotation ausgegleicht falls nur as es element da ist man die rotation von dieser passt

This commit is contained in:
2026-01-21 08:01:41 +01:00
parent a5baccb40a
commit e928ee363d
5 changed files with 98 additions and 60 deletions
+8 -8
View File
@@ -4,7 +4,7 @@ import plant2dxf
import block_methoden
RADIUS = 400
def 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, block_vario = None, vario_richtung = None, verbunden_höher = None,gefaelle_block=None,start = None,ende = None,mit_horizontal_verbunden = None):
def 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, block_vario = None, vario_richtung = None, verbunden_höher = None,gefaelle_block=None,start = None,ende = None,mit_horizontal_verbunden = None,as_es_rotation= None):
halbe_laenge = laenge / 2
dy = halbe_laenge * math.cos(0)
asoffset = float(config.get("ILS 2.0 Gefällestrecke", "asoffset"))
@@ -54,7 +54,7 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
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:
if laenge >= asoffset:
start[1] = start[1] - asoffset_y
start[2] = start[2] - asoffset_z
line = Line.new(dxfattribs={"start": start, "end": ende})
@@ -65,7 +65,7 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
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),dxfattribs={"layer":layer,"color":color})
msp.add_blockref(block_as,(start[0],start[1]+asoffset_y,upper_hoehe_gefaehlle),dxfattribs={"layer":layer,"color":color})
return True
elif block_es != None:
block_es = block_methoden.dreh_block(block_es,doc,lib_doc,math.radians(winkel_es))
@@ -77,10 +77,10 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
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),dxfattribs={"layer":layer,"color":color})
block_vario.add_blockref(block_es, (ende[0]-x ,ende[1]-esoffset_y -y,ende[2] - hoehe_gefaehlle -esoffset_z),dxfattribs={"rotation": as_es_rotation,"layer":layer,"color":color})
return start,ende
if laenge > esoffset:
if laenge >= esoffset:
ende[1] = ende[1] + esoffset_y
ende[2] = ende[2] + esoffset_z
line = Line.new(dxfattribs={"start": start, "end": ende})
@@ -91,7 +91,7 @@ def erstellung_gefaelle_block_verbunenden_am_einen(msp,x, y, doc, lib_doc, upper
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),dxfattribs={"layer":layer,"color":color})
msp.add_blockref(block_es,(ende[0],ende[1]+esoffset_y,lower_hoehe_gefaehlle),dxfattribs={"rotation": as_es_rotation,"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):
@@ -113,7 +113,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
middle_hoehe = upper_hoehe_gefaehlle
upper_hoehe_gefaehlle = lower_hoehe_gefaehlle
lower_hoehe_gefaehlle = middle_hoehe
# Entnehmung welches as/es element man braucht wenn es mit zwei Kreisel verbunden ist aber ein Kreisel direkt am Kopf hängt
if richtung2!= "DEFAULT" or am_kreisel != None:
# Schaut bei gleicher Orentierung
if ((drehung0 == "GUZS" and drehung1 == "GUZS" and hight_position == "higher") or
@@ -159,7 +159,7 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
block_methoden.import_block(block_as,lib_doc,doc)
layer, color = block_methoden.get_insert_color_layer(lib_doc,block_as)
# Erstellt den Block
if block_es != None:
block_es = block_methoden.dreh_block(block_es,doc,lib_doc,math.radians(winkel_es))
if voerder_richtung == "Auf":