Source code for pyleecan.Methods.Geometry.PolarArc.get_lines
# -*-- coding: utf-8 -*
from numpy import angle, exp
from ....Classes.Arc1 import Arc1
from ....Classes.Segment import Segment
[docs]def get_lines(self):
"""return the list of lines that delimits the PolarArc
Parameters
----------
self : PolarArc
a PolarArc object
Returns
-------
line_list: list
List of line need to draw the slot (2 Segment + 2 Arc1)
"""
# check if the PolarArc is correct
self.check()
Z_ref = self.point_ref
center = Z_ref * exp(-1j * angle(Z_ref))
H = self.height
A = self.angle
# the points of the PolarArc
Z2 = (center - (H / 2)) * exp(1j * (-(A / 2))) * exp(1j * angle(Z_ref))
Z3 = (center + (H / 2)) * exp(1j * (-(A / 2))) * exp(1j * angle(Z_ref))
Z4 = (center + (H / 2)) * exp(1j * (A / 2)) * exp(1j * angle(Z_ref))
Z1 = (center - (H / 2)) * exp(1j * (A / 2)) * exp(1j * angle(Z_ref))
# Lines that delimit the PolarArc
line1 = Arc1(Z1, Z2, -abs(Z1), is_trigo_direction=False)
line2 = Segment(Z2, Z3)
line3 = Arc1(Z3, Z4, abs(Z3))
line4 = Segment(Z4, Z1)
return [line1, line2, line3, line4]