From 4c071362a154dbfb8d8543358f695d393f2c126a Mon Sep 17 00:00:00 2001
From: Paul Wolok
Date: Fri, 23 Jan 2026 10:57:56 +0100
Subject: [PATCH] Refactor eckrad
---
lib/Elemente/Eckrad.py | 22 ++++++++++++++++++++--
lib/Elemente/VarioFoerderer.py | 1 -
lib/as_es_methoden.py | 1 -
lib/plant2dxf.py | 18 ++----------------
4 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/lib/Elemente/Eckrad.py b/lib/Elemente/Eckrad.py
index ecb84a8..be6ec0b 100644
--- a/lib/Elemente/Eckrad.py
+++ b/lib/Elemente/Eckrad.py
@@ -1,6 +1,7 @@
from pydantic import BaseModel, Field, field_validator
from typing import Optional
-
+import block_methoden
+RADIUS = 400
class Eckrad(BaseModel):
teileid: str
drehung: Optional [float] = Field(default=0.0,description="Rotation des Elements")
@@ -27,4 +28,21 @@ class Eckrad(BaseModel):
y = y,
hoehe = hoehe,
drehrichtung = drehrichtung
- )
\ No newline at end of file
+ )
+ def erstellung_eckrad_richtung(merkmale, doc, lib_doc):
+ block_methoden.import_block("AN8",lib_doc,doc)
+ block_methoden.import_block("Richtungspfeil",lib_doc,doc)
+ eckrad_rechts = "eckrad_UZS"
+ eckrad_links = "eckrad_GUZS"
+ hight = float(merkmale.get("Höhe in m")) * 1000
+ # Erstellung der Richtungung Blöcke der Eckrads
+ if eckrad_rechts not in doc.blocks:
+ block_rechts = doc.blocks.new(name= eckrad_rechts,base_point=(0,0,0))
+ block_links = doc.blocks.new(name= eckrad_links,base_point=(0,0,0))
+ block_rechts.add_blockref("AN8",(0,0,0))
+ block_links.add_blockref("AN8",(0,0,0))
+ block_rechts.add_blockref("Richtungspfeil",(0+200,0+ RADIUS,0))
+ block_rechts.add_blockref("Richtungspfeil",(0-200,0- RADIUS,0),dxfattribs={"rotation": 180})
+ block_links.add_blockref("Richtungspfeil",(0+200,0- RADIUS,0))
+ block_links.add_blockref("Richtungspfeil",(0-200,0+ RADIUS,0),dxfattribs={"rotation": 180})
+ return eckrad_rechts,eckrad_links,hight
\ No newline at end of file
diff --git a/lib/Elemente/VarioFoerderer.py b/lib/Elemente/VarioFoerderer.py
index d37dcd2..ec6a539 100644
--- a/lib/Elemente/VarioFoerderer.py
+++ b/lib/Elemente/VarioFoerderer.py
@@ -605,7 +605,6 @@ class VarioFoerderer(BaseModel):
elif voerder_richtung == "Ab":
# Setzng die hälfte des Gefälles auf beide seiten falls dieser nicht mit einem anderen Förder verbunden ist was durch die abwesenheit eines motors/umlenkung gezeigt wird
-
if gefaelle > 0:
if motor_vorhanden == True and umlenk_vorhanden == True:
halbesgefaelle = gefaelle/2
diff --git a/lib/as_es_methoden.py b/lib/as_es_methoden.py
index d555999..57dcb4d 100644
--- a/lib/as_es_methoden.py
+++ b/lib/as_es_methoden.py
@@ -162,7 +162,6 @@ def gefaellegerade_erstellung(x, y, doc, lib_doc, upper_hoehe_gefaehlle, lower_h
layer, color = block_methoden.get_insert_color_layer(lib_doc,block_es)
-
elif (((drehung0 == "UZS" and drehung1 == "UZS")or
(am_kreisel!= None and drehung0 == "UZS" and drehung1 == "UZS")) or
(drehung0 == "GUZS" and drehung1 == "UZS" and hight_position == "lower")or
diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py
index dddaf93..7e2cd77 100644
--- a/lib/plant2dxf.py
+++ b/lib/plant2dxf.py
@@ -68,22 +68,7 @@ def handle_ils_2_0_kreisel(msp, teileid, merkmale, x, y, doc, lib_doc, verbose,
def handle_ils_2_0_eckrad(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config,config_allgemein):
"""Erstellt ein Eckrad in der neuen Dxf"""
- block_methoden.import_block("AN8",lib_doc,doc)
- block_methoden.import_block("Richtungspfeil",lib_doc,doc)
- eckrad_rechts = "eckrad_UZS"
- eckrad_links = "eckrad_GUZS"
- hight = float(merkmale.get("Höhe in m")) * 1000
- # Erstellung der Richtungung Blöcke der Eckrads
- if eckrad_rechts not in doc.blocks:
- block_rechts = doc.blocks.new(name= eckrad_rechts,base_point=(0,0,0))
- block_links = doc.blocks.new(name= eckrad_links,base_point=(0,0,0))
- block_rechts.add_blockref("AN8",(0,0,0))
- block_links.add_blockref("AN8",(0,0,0))
- block_rechts.add_blockref("Richtungspfeil",(0+200,0+ RADIUS,0))
- block_rechts.add_blockref("Richtungspfeil",(0-200,0- RADIUS,0),dxfattribs={"rotation": 180})
- block_links.add_blockref("Richtungspfeil",(0+200,0- RADIUS,0))
- block_links.add_blockref("Richtungspfeil",(0-200,0+ RADIUS,0),dxfattribs={"rotation": 180})
-
+ eckrad_rechts, eckrad_links, hight = Eckrad.Eckrad.erstellung_eckrad_richtung(merkmale, doc, lib_doc)
if merkmale.get("Drehrichtung") == "UZS":
msp.add_blockref(eckrad_rechts,(x,y,hight))
elif merkmale.get("Drehrichtung") == "GUZS":
@@ -91,6 +76,7 @@ def handle_ils_2_0_eckrad(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, s
else:
msp.add_blockref("AN8",(x,y,hight))
+
def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols, strecken_nachbarn,config,config_allgemein):
"""Erstellt eine Gefällestrecke in der neuen Dxf"""
#Vorbereitung der attributen