From a666347da91cbdee6d85cc400c3ef13bcbedeae4 Mon Sep 17 00:00:00 2001 From: Paul Wolok Date: Wed, 7 Jan 2026 12:48:55 +0100 Subject: [PATCH] =?UTF-8?q?Motor=20Umlenkstation=20ausrechnen=20korrekiert?= =?UTF-8?q?=20und=20Variof=C3=B6rder=20horenzontal=20korregiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Elemente/Gefaehllestrecke.py | 12 ++++++------ lib/Elemente/VarioFoerderer.py | 4 ++-- lib/block_methoden.py | 14 +++++++++----- lib/plant2dxf.py | 2 -- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/Elemente/Gefaehllestrecke.py b/lib/Elemente/Gefaehllestrecke.py index c3edb90..14f8a6f 100644 --- a/lib/Elemente/Gefaehllestrecke.py +++ b/lib/Elemente/Gefaehllestrecke.py @@ -65,9 +65,9 @@ class Gefaellestrecke(BaseModel): Vario_Bogen_ab_Delta_SP_1[i] = abs(wert) block_methoden.turn_two_blocks_left(doc, block_Vario_Bogen_auf, block_Vario_Bogen_ab, block_Vario_Bogen_ab_links, block_Vario_Bogen_auf_links) if hat_motor_0 == True: - if tefkurve_0 == "rechts": + if tefkurve_0 == "links": if motor_gerade == False: - block.add_blockref(block_Vario_Bogen_ab,(start[0]-x,start[1]-Vario_Bogen_ab_Delta_SP_0[0]-y,start[2]- Vario_Bogen_ab_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 270}) + block.add_blockref(block_Vario_Bogen_ab_links,(start[0]-x,start[1]-Vario_Bogen_ab_Delta_SP_0[0]-y,start[2]- Vario_Bogen_ab_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 270}) start = [start[0],start[1]-Vario_Bogen_ab_Delta_SP_0[0]- Vario_Bogen_ab_Delta_SP_1[0],start[2]-Vario_Bogen_ab_Delta_SP_0[2]- Vario_Bogen_ab_Delta_SP_1[2]] block.add_blockref(blockname_motor_links, (start[0]-x,start[1] - 250* math.cos(math.radians(3))-y,start[2] - 250* math.sin(math.radians(3))-hoehe_gefaehlle),dxfattribs={"rotation": 270}) start[1]= start[1] - 500* math.cos(math.radians(3)) @@ -78,7 +78,7 @@ class Gefaellestrecke(BaseModel): else: if motor_gerade == False: - block.add_blockref(block_Vario_Bogen_ab_links,(start[0]-x,start[1]-Vario_Bogen_ab_Delta_SP_0[0]-y,start[2]- Vario_Bogen_ab_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 270}) + block.add_blockref(block_Vario_Bogen_ab,(start[0]-x,start[1]-Vario_Bogen_ab_Delta_SP_0[0]-y,start[2]- Vario_Bogen_ab_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 270}) start = [start[0],start[1]-Vario_Bogen_ab_Delta_SP_0[0]- Vario_Bogen_ab_Delta_SP_1[0],start[2]-Vario_Bogen_ab_Delta_SP_0[2]- Vario_Bogen_ab_Delta_SP_1[2]] block.add_blockref(block_Vario_Motorstation_500mm, (start[0]-x,start[1] - 250* math.cos(math.radians(3))-y,start[2] - 250* math.sin(math.radians(3))-hoehe_gefaehlle),dxfattribs={"rotation": 270}) start[1]= start[1] - 500* math.cos(math.radians(3)) @@ -88,9 +88,9 @@ class Gefaellestrecke(BaseModel): start[1]= start[1] - 500 if hat_umlenk_0 == True: - if tefkurve_0 == "rechts": + if tefkurve_0 == "links": if umlenk_gerade == False: - block.add_blockref(block_Vario_Bogen_auf_links,(ende[0]-x,ende[1]+Vario_Bogen_auf_Delta_SP_0[0]-y,ende[2] + Vario_Bogen_auf_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 90}) + block.add_blockref(block_Vario_Bogen_auf,(ende[0]-x,ende[1]+Vario_Bogen_auf_Delta_SP_0[0]-y,ende[2] + Vario_Bogen_auf_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 90}) ende = [ende[0],ende[1]+ Vario_Bogen_auf_Delta_SP_0[0]+ Vario_Bogen_auf_Delta_SP_1[0],ende[2]+Vario_Bogen_auf_Delta_SP_0[2]+ Vario_Bogen_auf_Delta_SP_1[2]] block.add_blockref(blockname_umlenk_links, (ende[0]-x,ende[1] + 250* math.cos(math.radians(3))-y,ende[2] + 250* math.sin(math.radians(3))-hoehe_gefaehlle),dxfattribs={"rotation": 270}) @@ -102,7 +102,7 @@ class Gefaellestrecke(BaseModel): else: if umlenk_gerade == False: - block.add_blockref(block_Vario_Bogen_auf,(ende[0]-x,ende[1]+Vario_Bogen_auf_Delta_SP_0[0]-y,ende[2] + Vario_Bogen_auf_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 90}) + block.add_blockref(block_Vario_Bogen_auf_links,(ende[0]-x,ende[1]+Vario_Bogen_auf_Delta_SP_0[0]-y,ende[2] + Vario_Bogen_auf_Delta_SP_0[2]-hoehe_gefaehlle),dxfattribs={"rotation": 90}) ende = [ende[0],ende[1]+ Vario_Bogen_auf_Delta_SP_0[0]+ Vario_Bogen_auf_Delta_SP_1[0],ende[2]+Vario_Bogen_auf_Delta_SP_0[2]+ Vario_Bogen_auf_Delta_SP_1[2]] block.add_blockref(block_Vario_Umlenkstation_500mm, (ende[0]-x,ende[1] + 250* math.cos(math.radians(3))-y,ende[2] + 250* math.sin(math.radians(3))-hoehe_gefaehlle),dxfattribs={"rotation": 270}) ende [1]= ende[1] + 500* math.cos(math.radians(3)) diff --git a/lib/Elemente/VarioFoerderer.py b/lib/Elemente/VarioFoerderer.py index b083bb9..e232980 100644 --- a/lib/Elemente/VarioFoerderer.py +++ b/lib/Elemente/VarioFoerderer.py @@ -473,7 +473,7 @@ class VarioFoerderer(BaseModel): start = start[0] ,start[1] - Vario_Bogen_ab_Delta_SP_0[0] - Vario_Bogen_ab_Delta_SP_1[0],start[2] - Vario_Bogen_ab_Delta_SP_1[2]+ Vario_Bogen_ab_Delta_SP_0[2] else: - start_VP = start[0] +vario_abstand,start[1] + winkel_VP_offset_vorne[0], start[2] - winkel_VP_offset_vorne[2] + start_VP = start[0] +vario_abstand,start[1] + winkel_VP_offset_hinten[0], start[2] - winkel_VP_offset_hinten[2] #einfügen des auf blockes und veränderund der start Punktes dementsprechend und erstellung von startVP für die VARIO linie if motor_vorhanden == True: @@ -481,7 +481,7 @@ class VarioFoerderer(BaseModel): ende_VP = (ende[0] +Vario_Bogen_auf_Delta_VP_1[1], ende[1]+Vario_Bogen_auf_Delta_VP_1[0]+Vario_Bogen_auf_Delta_SP_0[0],ende[2] + Vario_Bogen_auf_Delta_VP_1[2]- Vario_Bogen_auf_Delta_SP_0[2]) ende = (ende[0] ,ende[1] +Vario_Bogen_auf_Delta_SP_1[0] + Vario_Bogen_auf_Delta_SP_0[0] ,ende[2] + Vario_Bogen_auf_Delta_SP_1[2] - Vario_Bogen_auf_Delta_SP_0[2]) else: - ende_VP = ende[0] +vario_abstand,ende[1] - winkel_VP_offset_hinten[0], ende[2] - winkel_VP_offset_hinten[2] + ende_VP = ende[0] +vario_abstand,ende[1] - winkel_VP_offset_vorne[0], ende[2] - winkel_VP_offset_vorne[2] # Erstellung der VARIO Line line_VP = Line.new(dxfattribs={"start":start_VP,"end": ende_VP}) line_VP.dxf.layer = "VARIO" diff --git a/lib/block_methoden.py b/lib/block_methoden.py index f908e41..5ab8724 100644 --- a/lib/block_methoden.py +++ b/lib/block_methoden.py @@ -127,19 +127,23 @@ def rotatate_and_left_motor_umlenk(doc, lib_doc,config): blockname_umlenk_links =dreh_block(blockname_umlenk_links,doc,lib_doc,math.radians(motor_rotation)) return block_Vario_Umlenkstation_500mm,block_Vario_Motorstation_500mm,blockname_motor_links,blockname_umlenk_links -def turn_two_blocks_left(doc, block_1_name_zwischen, block_2_name, block_2_left_name, block_1_left_name): +def turn_two_blocks_left(doc, block_1_name_zwischen, block_2_name_zwischen, block_2_left_name, block_1_left_name): + blockname1 = block_1_name_zwischen + blockname2 = block_2_name_zwischen if block_2_left_name not in doc.blocks: matrix = Matrix44.scale(1,-1,1) + block1_zwischen = doc.blocks.new(name=block_1_name_zwischen + "zwischenschrit", base_point=(0,0,0)) + block2_zwischen = doc.blocks.new(name=block_2_name_zwischen + "zwischenschrit", base_point=(0,0,0)) block_2 = doc.blocks.new(name=block_2_left_name,base_point=(0,0,0)) block_1_left_name = doc.blocks.new(name=block_1_left_name,base_point=(0,0,0)) - block_2_zwischen = doc.blocks[block_2_name] - block_1_name_zwischen = doc.blocks[block_1_name_zwischen] - for e in block_2_zwischen: + block1_zwischen.add_blockref(blockname1,(0,0,0)) + block2_zwischen.add_blockref(blockname2,(0,0,0)) + for e in block2_zwischen: copy = e.copy() copy.transform(matrix) block_2.add_entity(copy) - for e in block_1_name_zwischen: + for e in block1_zwischen: copy = e.copy() copy.transform(matrix) block_1_left_name.add_entity(copy) \ No newline at end of file diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py index f4fd245..8613e2c 100644 --- a/lib/plant2dxf.py +++ b/lib/plant2dxf.py @@ -1058,8 +1058,6 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, msp.add_blockref(blockname, (x, y,omniflo_objekt.hoehe), dxfattribs={"rotation": rotation,"layer": layer, "color": color}) - - def normalize_func_name(name): return ( name.replace('ä', 'ae')