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