Source code for pyleecan.Methods.Slot.SlotDC.build_geometry

# -*- coding: utf-8 -*-

from ....Classes.Arc1 import Arc1
from ....Classes.Segment import Segment


[docs]def build_geometry(self): """Compute the curve (Line) needed to plot the Slot. The ending point of a curve is the starting point of the next curve in the list Parameters ---------- self : SlotDC A SlotDC object Returns ------- curve_list: list A list of 6 Segment and 5 Arc """ [ Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12, _, _, _, ] = self._comp_point_coordinate() # Adapt the lines according to the lamination if self.is_outwards(): sign = 1 direc = True else: sign = -1 direc = False # Creation of curve curve_list = list() curve_list.append(Segment(Z1, Z2)) curve_list.append(Arc1(Z2, Z3, sign * self.D1 / 2, is_trigo_direction=direc)) curve_list.append(Segment(Z3, Z4)) curve_list.append(Arc1(Z4, Z5, sign * self.D2 / 2, is_trigo_direction=direc)) curve_list.append(Segment(Z5, Z6)) curve_list.append(Arc1(Z6, Z7, sign * self.R3, is_trigo_direction=direc)) curve_list.append(Segment(Z7, Z8)) curve_list.append(Arc1(Z8, Z9, sign * self.D2 / 2, is_trigo_direction=direc)) curve_list.append(Segment(Z9, Z10)) curve_list.append(Arc1(Z10, Z11, sign * self.D1 / 2, is_trigo_direction=direc)) curve_list.append(Segment(Z11, Z12)) return curve_list