pyleecan.Classes.Arc module¶
Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Geometry/Arc
- class Arc(prop_dict=None, init_dict=None, init_str=None)[source]¶
Bases:
Line
Abstract class for arc
- VERSION = 1¶
- draw_FEMM(femm, nodeprop=None, maxseg=None, element_size=None, propname=None, hide=False, group=None, is_draw=True)¶
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)
is_draw (bool) – 1 to draw the list of surfaces given
- 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_join=False, prop_dict_join=None)¶
Cut the Arc according to a line defined by two complex “Above” is in the coordinate system with Z1 in 0 and Z2 on the X>0 axis
- Parameters:
self (Segment) – An Segment object
Z1 (complex) – First point of the cutting Line
Z2 (complex) – Second point of the cutting Line
is_join (bool) – True to join the split_list with Segment if there is more that one remaining parts
prop_dict_join (dict) – Property dict to set on the join line
- Returns:
top_split_list, bot_split_list – Both part of the arc
- Return type:
- 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)
- Returns:
fig (Matplotlib.figure.Figure) – Figure containing the plot
ax (Matplotlib.axes.Axes object) – Axis containing the plot
- comp_maxseg(elementsize, maxseg_amp)¶
Computes the number of segments per arc degrees in function of the elementsize of the region
- Parameters:
self (Arc) – An Arc object
elementsize (float) – max element size parameter
maxseg_amp (float) – amplifying factor
- Returns:
maxseg – number of segments per arc degrees
- Return type:
float
- intersect_obj(other, is_on_line=True)¶
Find the intersection points between this line and another line object
- is_arc()¶
Check if the line is an Arc
- Parameters:
self (Arc) – An Arc object
- Returns:
is_arc – True for Arc
- Return type:
bool
- 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.