Pin bereich bei kreisel abhängig von Winkel angepasst
This commit is contained in:
+38
-10
@@ -278,7 +278,7 @@ def handle_ils_2_0_kreisel(msp, teileid, merkmale, x, y, doc, lib_doc, verbose,
|
|||||||
|
|
||||||
def draw_kreisel_lines(msp, pos1, pos2,merkmale):
|
def draw_kreisel_lines(msp, pos1, pos2,merkmale):
|
||||||
"""Zeichnet tangentiale Linien zwischen zwei Kreiselblöcken, unabhängig vom Winkel."""
|
"""Zeichnet tangentiale Linien zwischen zwei Kreiselblöcken, unabhängig vom Winkel."""
|
||||||
|
rotation = float(merkmale.get("Drehung"))
|
||||||
x1, y1, z1 = pos1
|
x1, y1, z1 = pos1
|
||||||
x2, y2, z1 = pos2
|
x2, y2, z1 = pos2
|
||||||
# Verbindungsvektor
|
# Verbindungsvektor
|
||||||
@@ -298,15 +298,43 @@ def draw_kreisel_lines(msp, pos1, pos2,merkmale):
|
|||||||
p2a = (x2 + nx, y2 + ny,z1)
|
p2a = (x2 + nx, y2 + ny,z1)
|
||||||
p2b = (x2 - nx, y2 - ny,z1)
|
p2b = (x2 - nx, y2 - ny,z1)
|
||||||
if merkmale.get("Kreiselart") == "Pin":
|
if merkmale.get("Kreiselart") == "Pin":
|
||||||
|
if rotation == 0.0:
|
||||||
p1a2 = p1a[0] + RADIUS + 50, p1a[1] - 50, z1
|
p1a2 = p1a[0] - RADIUS - 50, p1a[1] + 50, z1
|
||||||
p1b2 = p1b[0] + RADIUS + 50, p1b[1] + 50, z1
|
p1b2 = p1b[0] - RADIUS - 50, p1b[1] - 50, z1
|
||||||
p2a2 = p2a[0] - RADIUS - 50, p2a[1] - 50, z1
|
p2a2 = p2a[0] + RADIUS + 50, p2a[1] + 50, z1
|
||||||
p2b2 = p2b[0] - RADIUS - 50, p2b[1] + 50, z1
|
p2b2 = p2b[0] + RADIUS + 50, p2b[1] - 50, z1
|
||||||
Line1 = Line.new(dxfattribs={"start": p1a2,"end": p2a2,"layer": "Pinbereich"})
|
Line1 = Line.new(dxfattribs={"start": p1a2,"end": p2a2,"layer": "Pinbereich"})
|
||||||
Line2 = Line.new(dxfattribs={"start": p1b2,"end": p2b2,"layer": "Pinbereich"})
|
Line2 = Line.new(dxfattribs={"start": p1b2,"end": p2b2,"layer": "Pinbereich"})
|
||||||
msp.add_entity(Line1)
|
msp.add_entity(Line1)
|
||||||
msp.add_entity(Line2)
|
msp.add_entity(Line2)
|
||||||
|
elif rotation == 180.0:
|
||||||
|
p1a2 = p1a[0] + RADIUS + 50, p1a[1] - 50, z1
|
||||||
|
p1b2 = p1b[0] + RADIUS + 50, p1b[1] + 50, z1
|
||||||
|
p2a2 = p2a[0] - RADIUS - 50, p2a[1] - 50, z1
|
||||||
|
p2b2 = p2b[0] - RADIUS - 50, p2b[1] + 50, z1
|
||||||
|
Line1 = Line.new(dxfattribs={"start": p1a2,"end": p2a2,"layer": "Pinbereich"})
|
||||||
|
Line2 = Line.new(dxfattribs={"start": p1b2,"end": p2b2,"layer": "Pinbereich"})
|
||||||
|
msp.add_entity(Line1)
|
||||||
|
msp.add_entity(Line2)
|
||||||
|
elif rotation == 90.0:
|
||||||
|
p1a2 = p1a[0] + 50, p1a[1] - 50 + RADIUS , z1
|
||||||
|
p1b2 = p1b[0] - 50, p1b[1] - 50 + RADIUS, z1
|
||||||
|
p2a2 = p2a[0] + 50, p2a[1] + 50 - RADIUS, z1
|
||||||
|
p2b2 = p2b[0] - 50, p2b[1] + 50 - RADIUS, z1
|
||||||
|
Line1 = Line.new(dxfattribs={"start": p1a2,"end": p2a2,"layer": "Pinbereich"})
|
||||||
|
Line2 = Line.new(dxfattribs={"start": p1b2,"end": p2b2,"layer": "Pinbereich"})
|
||||||
|
msp.add_entity(Line1)
|
||||||
|
msp.add_entity(Line2)
|
||||||
|
elif rotation == 270.0:
|
||||||
|
p1a2 = p1a[0] - 50, p1a[1] + 50 - RADIUS , z1
|
||||||
|
p1b2 = p1b[0] + 50, p1b[1] + 50 - RADIUS, z1
|
||||||
|
p2a2 = p2a[0] - 50, p2a[1] - 50 + RADIUS, z1
|
||||||
|
p2b2 = p2b[0] + 50, p2b[1] - 50 + RADIUS, z1
|
||||||
|
Line1 = Line.new(dxfattribs={"start": p1a2,"end": p2a2,"layer": "Pinbereich"})
|
||||||
|
Line2 = Line.new(dxfattribs={"start": p1b2,"end": p2b2,"layer": "Pinbereich"})
|
||||||
|
msp.add_entity(Line1)
|
||||||
|
msp.add_entity(Line2)
|
||||||
|
|
||||||
# Linien zeichnen
|
# Linien zeichnen
|
||||||
msp.add_line(p1a, p2a)
|
msp.add_line(p1a, p2a)
|
||||||
msp.add_line(p1b, p2b)
|
msp.add_line(p1b, p2b)
|
||||||
|
|||||||
Reference in New Issue
Block a user