pyleecan.Classes.Bore module

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Machine/Bore

class Bore(type_merge_slot=1, alpha=0, init_dict=None, init_str=None)[source]

Bases: FrozenClass

Abstract class for Bore shape

VERSION = 1
merge_slot(radius_desc_list, prop_dict, sym)

Merge the Bore shape with notches/slot on the bore/yoke

Parameters:
  • radius_desc_list (list) – List of dict to describe the bore/yoke radius

  • prop_dict (dict) – Property dictionary to apply on the radius lines (not on slot/notch)

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

Returns:

line_list – List of lines needed to draw the radius

Return type:

list

is_yoke()

Return if the Shape is for the Bore or Yoke radius

Parameters:

self (Bore) – A Bore object

Returns:

is_yoke – True if the shape is on the yoke

Return type:

bool

merge_slot_connect(radius_desc_list, prop_dict, sym)

Merge the Bore shape with notches/slot on the bore/yoke Connect method: Add lines between radius and notch/slot (To use when the radius shape have circular part matchine the radius or when radius lines are bellow normal radius)

Parameters:
  • radius_desc_list (list) – List of dict to describe the bore/yoke radius

  • prop_dict (dict) – Property dictionary to apply on the radius lines (not on slot/notch)

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

Returns:

line_list – List of lines needed to draw the radius

Return type:

list

merge_slot_intersect(radius_desc_list, prop_dict, sym)

Merge the Bore shape with notches/slot on the bore/yoke Intersect method: cut lines of notch/slot to make the radius end match notch/slot begin technically reduice slot/notch height without changing yoke height

Parameters:
  • radius_desc_list (list) – List of dict to describe the bore/yoke radius

  • prop_dict (dict) – Property dictionary to apply on the radius lines (not on slot/notch)

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

Returns:

line_list – List of lines needed to draw the radius

Return type:

list

merge_slot_translate(radius_desc_list, prop_dict, sym)

Merge the Bore shape with notches/slot on the bore/yoke Translate method: Translate lines of notch/slot to match the radius of the shape technically Keep the slot/notch height by reduicing the yoke height

Parameters:
  • radius_desc_list (list) – List of dict to describe the bore/yoke radius

  • prop_dict (dict) – Property dictionary to apply on the radius lines (not on slot/notch)

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

Returns:

line_list – List of lines needed to draw the radius

Return type:

list

comp_Rmin()

Compute the minimum radius of the Bore shape

Parameters:

self (Bore) – A Bore object

Returns:

Rmin – Minimum radius of the Bore shape

Return type:

float

comp_surface()

Returns the area of the shape

Parameters:

self (Bore) – A Bore object

Returns:

Sbore – Area of the bore

Return type:

float

get_surface()

Returns the bore shape as a Surface object

Parameters:

self (Bore) – A Bore object

Returns:

Sbore – Surface object to draw the bore

Return type:

Surface

plot(fig=None, ax=None)

Plot the Bore in a matplotlib fig

Parameters:
  • self (Bore) – A Bore object

  • fig – if None, open a new fig and plot, else add to the current one (Default value = None)

Returns:

  • fig (Matplotlib.figure.Figure) – Figure containing the plot

  • ax (Matplotlib.axes.Axes object) – Axis containing the plot

comp_Rmax()

Compute the maximum radius of the Bore shape

Parameters:

self (Bore) – A Bore object

Returns:

Rmax – Maximum radius of the Bore shape [m]

Return type:

float

save(save_path='', is_folder=False, type_handle_old=2, type_compression=0)

Save the object to the save_path

Parameters:
  • self – A pyleecan object

  • save_path (str) – path to the folder to save the object

  • is_folder (bool) – to split the object in different files: separate simulation machine and materials (json only)

  • type_handle_old (int) – How to handle old file in folder mode (0:Nothing, 1:Delete, 2:Move to “Backup” folder)

  • type_compression (int) – Available only for json, 0: no compression, 1: gzip

get_logger()

Get the object logger or its parent’s one

Parameters:

obj – A pyleecan object

Returns:

logger – Pyleecan object dedicated logger

Return type:

logging.Logger

compare(other, name='self', ignore_list=None, is_add_value=False)[source]

Compare two objects and return list of differences

as_dict(type_handle_ndarray=0, keep_function=False, **kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). type_handle_ndarray: int

How to handle ndarray (0: tolist, 1: copy, 2: nothing)

keep_functionbool

True to keep the function object, else return str

Optional keyword input parameter is for internal use only and may prevent json serializability.

copy()[source]

Creates a deepcopy of the object

property type_merge_slot

intersection, 2: translate)

Type:

int

Min:

0

Max:

2

Type:

how to merge slot/notch into the bore radius (0

Type:

connect the dot, 1

property alpha

Angular offset for the bore shape

Type:

float