Loads¶
Accessed via app.loads.
LoadsFacade¶
LoadCaseManager¶
- class pyrobotstructural.loads.cases.LoadCaseManager(raw_app)[source]¶
Bases:
_BaseEditorManager for creating and listing load cases.
Accessed via
app.loads.cases.- Parameters:
raw_app (Any)
- add_loadcase(name, nature, analize_type, number=None, auxillary=False, kmatrix=False, pdelta=False, label=None)[source]¶
Creates simple loadcase.
- Parameters:
name (
str) – Name for the loadcasenature (
CaseNature) – Nature of the loadcase enumanalize_type (
CaseAnalizeType) – AnalizeType enum (IRobotCaseAnalizeType)number (
int) – Number of the loadcase - optional, if no input then Free Nuber usedauxillary (
bool) – trigger if case is to be auxillarykmatrix (
bool) – trigger MatrixUpdateAfterEachIteration optionpdelta (
bool) – trigger p-deltalabel (
str) – label for the loadcase, if not specified then same as number
- Return type:
None
CombinationManager¶
- class pyrobotstructural.loads.combinations.CombinationManager(raw_app)[source]¶
Bases:
_BaseEditorManager for creating ULS and SLS load combinations.
Accessed via
app.loads.combinations.- Parameters:
raw_app (Any)
- add_combination(comb_number, comb_name, label, comb_type, case_analize_type, factors, case_nature, kmatrix=False, pdelta=False)[source]¶
Creates simple loadcase
- Parameters:
comb_number (
int) – Number for the load combination - optional, if no input then Free Nuber usedname (str) – Name for the load combination
comb_type (
CombinationType) – Combination type (IRobotCombinationType)comb_analize_type (enum CaseAnalizeType) – AnalizeType enum (IRobotCaseAnalizeType)
factors (
list[tuple]) – factors in format: [(case_number, factor), (case_number, factor)…]comb_nature (CaseNature) – Nature of the loadcase enum (IRobotCaseNature). Defaults to I_CN_EXPLOATATION.
kmatrix (
bool) – trigger MatrixUpdateAfterEachIteration optionpdelta (
bool) – trigger p-deltacomb_name (str)
label (str)
case_analize_type (CaseAnalizeType)
case_nature (CaseNature)
- Return type:
None
LoadEditor¶
- class pyrobotstructural.loads.load.LoadEditor(raw_app)[source]¶
Bases:
_BaseEditorEditor for applying loads to members, nodes, and panels.
Accessed via
app.loads.load. Supports self-weight, nodal forces, uniform and trapezoidal bar loads, point loads along bars, and panel (surface) loads.- Parameters:
raw_app (Any)
- add_self_weight(case_name, objects, factors=[0, 0, -1])[source]¶
Adds self-weight to objects.
- Parameters:
case_name (
str) – Loadcase name to which the load will be asigned.objects (
int|str) – List of objects eg. “1 2 3” or “all”factors (
list) – Factors in format [x, y, z] sign factor is assumed as a direction for the factor
- Return type:
None
- add_node_load(case_name, objects, loads, rotations=[0, 0, 0])[source]¶
Adds point load on a node.
- Parameters:
case_name (
str) – Loadcase name to which the load will be asigned.objects (
int|str) – List of objects eg. “1 2 3”.loads (
list) – Loads in format [Fx, Fy, Fz, Mx, My, Mz] in Newtons.rotations (
list) – Rotations angle in order: [alfa, beta, gamma] in degrees.
- Return type:
None
- add_uniform_load(case_name, objects, loads, dis_y=0, dis_z=0, projected=0, rotations=[0, 0, 0], coord_sys=0)[source]¶
Adds uniform load on a member.
- Parameters:
loads (
list) – Loads in format [Fx, Fy, Fz, Mx, My, Mz] in Newtons/mcase_name (
str) – Loadcase name to which the load will be asigned.objects (
int|str) – List of objects eg. “1 2 3”dis_y (
float) – Eccentricity distance in y direction in local systemdis_z (
float) – Eccentricity distance in z direction in local systemprojected (
int) – 0 -not projected, 1-projectedrotations (
list) – Rotations angle in order: [alfa, beta, gamma] in degrees.coord_sys (
int) – 0 - absolute, 1 - relative local system
- Return type:
None
- add_point_load(case_name, objects, loads, dis_x=0, dis_y=0, dis_z=0, rotations=[0, 0, 0], coord_sys=0, calc_node=1, relabs=0)[source]¶
Adds point load on a member.
- Parameters:
loads (
list) – Loads in format [Fx, Fy, Fz, Mx, My, Mz] in Newtonscase_name (
str) – Loadcase name to which the load will be asigned.objects (
int|str) – List of objects eg. “1 2 3”dis_x (
float) – Load position from start node of the member.dis_y (
float) – Eccentricity distance in y direction in local system.dis_z (
float) – Eccentricity distance in z direction in local system.rotations (
list) – Rotations angle in order: [alfa, beta, gamma] in degrees.coord_sys (
int) – 0 - global, 1 - local systemcalc_node (
int) – Create a calculation node in the load position, 0 - no node. Defaults to 1.relabs (
int) – 0 - absolute, 1 - relative. Distance values measured along bar length.
- Return type:
None
- add_trapezoidal_load(case_name, objects, loads, start_dist, end_dist, projected=0, rotations=[0, 0, 0], coord_sys=0)[source]¶
Adds trapezoidal load (2p).
- Parameters:
loads (
list) – Loads in format [Px1, Py1, Pz1, Px2, Py2, Pz2] in kN/mcase_name (
str) – Loadcase name to which the load will be asignedobjects (
int|str) – List of objects eg. “1 2 3”.start_dist (
float) – Distance of the load starting point from bar origin.end_dist (
float) – Distance of the load end point from bar origin.projected (
int) – 0 -not projected, 1-projected.rotations (
list) – Rotations angle in order: [alfa, beta, gamma] in degrees.coord_sys (
int) – 0 - absolute, 1 - relative. Distance values measured along bar length.
- Return type:
None
- add_uniform_panel_load(case_name, objects, loads, projected=0, coord_sys=0)[source]¶
Adds uniform panel load.
- Parameters:
loads (
list) – Loads in format [Px, Py, Pz] in Pacase_name (
str) – Loadcase name to which the load will be asigned.objects (
int|str) – List of objects eg. “1 2 3”.projected (
int) – 0 -not projected, 1-projectedcoord_sys (
int) – 0 - absolute, 1 - relative. Distance values measured along bar length.
- Return type:
None
- add_linear_load_on_edge(case_name, objects, loads, coord_sys, gamma)[source]¶
Adds point load on a member
- Parameters:
loads (
list) – Loads in format [Fx, Fy, Fz, Mx, My, Mz] in Newtonscase_name (
str) – Loadcase name to which the load will be asignedobjects (
int|str) – List of objects eg. “1 2 3”coord_sys (
int) – 0 - global, 1 - local systemgamma (
float) – Gamma rotation angle in degrees. Defaults to 0.
- Return type:
None
- add_contour_load(loads, case_name, contour_points, objects=None, load_3p=False, p3_coordinates=None, auto_detect=False, vector=None)[source]¶
Adds load on contour.
- Parameters:
loads (
list) – Loads in format [Px, Py, Pz], if 3p load then [Px1, Py1, Pz1, Px2, Py2, Pz2, Px3, Py3, Pz3]case_name (
str) – Loadcase name to which the load will be asignedcontour_points (
list) – Contour points in given format [[x,y,z], [x,y,z], …]objects (
str) – List of objects eg. “1 2 3”load_3p (
bool) – Triggers if load 3p on contour type is required.p3_coordinates (
list) – List of corner points for load 3p contour in format [[x,y,z], [x,y,z], …]auto_detect (
bool) – Trigger to auto detect panels for contour load distribution. Defaults to False.vector (
tuple) – Vector for force direction in format: (x,y,z). Defaults as downward (0,0,-1)
- Return type:
None
- add_planar_3p_load(case_name, objects, loads, p1, p2, p3, projected=0, coord_sys=0)[source]¶
Adds a planar 3-point (trapezoidal) load on panel/FE objects.
The load intensity is defined at three reference points, allowing a linearly-varying distribution across the surface.
- Parameters:
case_name (
str) – Loadcase name to which the load will be assigned.objects (
int|str) – Panel/FE object selection, e.g."1 2 3"or a single int.loads (
list) – Nine load components in order:[Px1, Py1, Pz1, Px2, Py2, Pz2, Px3, Py3, Pz3]in Pa.p1 (
list) – Coordinates[x, y, z]of reference point 1 (in metres).p2 (
list) – Coordinates[x, y, z]of reference point 2 (in metres).p3 (
list) – Coordinates[x, y, z]of reference point 3 (in metres).projected (
int) –0– not projected,1– projected. Defaults to0.coord_sys (
int) –0– global,1– local. Defaults to0.
- Return type:
None