# Arc (class)¶

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Geometry/Arc

class Arc(label='', init_dict=None, init_str=None)[source]

Abstract class for arc

VERSION = 1
draw_FEMM(femm, nodeprop=None, maxseg=None, propname=None, hide=False, group=None)

Draw the Arc object in FEMM and assign the property

Parameters
• femm (FEMMHandler) – client to send command to a FEMM instance

• nodeprop

Nodal property

(Default value = None)

• maxseg

Meshed with elements that span at most maxsegdeg degrees per element

(Default value = None)

• propname

Boundary property ’propname’

(Default value = None)

• hide

0 = not hidden in post-processor, 1 == hidden in post processor

(Default value = False)

• group

the group the Arc1 object belongs

(Default value = None)

Returns

Return type

None

intersect_line(Z1, Z2)

Return a list (0, 1 or 2 complex) of coordinates of the intersection of the arc with a line defined by two complex

Parameters

self (Arc) – An Arc object

Returns

Z_list – Complex coordinates of the intersection (if any)

Return type

list

is_on_line(Z)

Check is a point defined by its complex coordinate is on the arc

Parameters
• self (Arc) – An Arc object

• Z (complex) – Complex coordinate of the point

Returns

is_on_line – True if the point is on the arc

Return type

bool

split_line(Z1, Z2, is_top=True, is_join=False, label_join='')

Cut the Arc according to a line defined by two complex

Parameters
• self (Segment) – An Segment object

• Z1 (complex) – First point of the cutting Line

• Z2 (complex) – Second point of the cutting Line

• is_top (bool) – True to keep the part above the cutting line. “Above” is in the coordinate system with Z1 in 0 and Z2 on the X>0 axis

• is_join (bool) – True to join the split_list with Segment if there is more that one remaining parts

• label_join (str) – Label of the join line

Returns

split_list – The selected part of the arc (0, 1 or 2 arc depending on cutting point)

Return type

list(Arc)

comp_distance(Z)

Compute the distance of a point to the Arc

Parameters
• self (Arc) – An Arc object

• Z (complex) – Complex coordinate of the point

Returns

D – distance of a point to the Segment

Return type

float

plot(fig=None, ax=None, linestyle='solid', linewidth=1, color='black', label=None, offset_label=0, fontsize=12)

Plot the Arc

Parameters
• self (Arc) – An Arc object

• fig (Matplotlib.figure.Figure) – existing figure to use if None create a new one

• ax (Matplotlib.axes.Axes object) – Axis on which to plot the data

• linestyle (str) – Line of the line (solid, dotted…)

• linewidth (int) – Line Width

• color (str) – Color of the line

• label (str) – To add a label at the middle of the line

• offset_label (complex) – Complex value to shift the label from the middle

• fontsize (int) – Size of the font for the label (if any)

save(save_path='', is_folder=False)

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

copy(**kwargs)

Return a copy of the class

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')[source]

Compare two objects and return list of differences

as_dict(**kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). Optional keyword input parameter is for internal use only and may prevent json serializability.