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