From 00073e6d034e72187c37de5352bc275455f271eb Mon Sep 17 00:00:00 2001
From: Paul Wolok
Date: Thu, 18 Sep 2025 11:50:33 +0200
Subject: [PATCH] =?UTF-8?q?Layer=20f=C3=BCr=20linien=20erstellt=20und=20Li?=
=?UTF-8?q?nien=20Kordinaten=20system=20koriegiert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/plant2dxf.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py
index 092a273..f116fd9 100644
--- a/lib/plant2dxf.py
+++ b/lib/plant2dxf.py
@@ -360,19 +360,23 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols)
except Exception:
laenge = 0
try:
- winkel = float(merkmale.get("Drehung", 0))
+ winkel = float(merkmale.get("Drehung"))
except Exception:
winkel = 0.0
winkel_rad = math.radians(winkel)
halbe_laenge = laenge / 2
-
- dx = halbe_laenge * math.sin(winkel_rad)
+ # Man muss bei sin -1 machen wegen des links koordinaten system
+ dx = halbe_laenge * math.sin(winkel_rad * -1)
dy = halbe_laenge * math.cos(winkel_rad)
start = (x + dx, y + dy, float(merkmale.get("Höhe oben")) )
ende = (x - dx, y - dy, float(merkmale.get("Höhe unten")))
- msp.add_line(start, ende)
-
+ if "A-2" not in doc.layers:
+ doc.layers.add(name="A-2", color=2)
+ linie=msp.add_line(start, ende)
+ linie.dxf.layer = "A-2"
+
+
if verbose:
print(f"[INFO] Omniflo Gerade → {teileid} Linie von ({start[0]:.1f}, {start[1]:.1f}) nach ({ende[0]:.1f}, {ende[1]:.1f})")
return