This commit is contained in:
2025-09-19 13:50:06 +02:00
3 changed files with 189043 additions and 5 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+9 -5
View File
@@ -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