Loads

Accessed via app.loads.

LoadsFacade

class pyrobotstructural.loads.facade.LoadsFacade(raw_app)[source]

Bases: object

Facade for managing load cases, combinations, and applied loads.

Accessed via app.loads. Aggregates the load case, combination, and load application sub-editors.

Parameters:

raw_app (Any)

LoadCaseManager

class pyrobotstructural.loads.cases.LoadCaseManager(raw_app)[source]

Bases: _BaseEditor

Manager 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 loadcase

  • nature (CaseNature) – Nature of the loadcase enum

  • analize_type (CaseAnalizeType) – AnalizeType enum (IRobotCaseAnalizeType)

  • number (int) – Number of the loadcase - optional, if no input then Free Nuber used

  • auxillary (bool) – trigger if case is to be auxillary

  • kmatrix (bool) – trigger MatrixUpdateAfterEachIteration option

  • pdelta (bool) – trigger p-delta

  • label (str) – label for the loadcase, if not specified then same as number

Return type:

None

clear()[source]

Clears all loadcases in the model

Return type:

None

CombinationManager

class pyrobotstructural.loads.combinations.CombinationManager(raw_app)[source]

Bases: _BaseEditor

Manager for creating ULS and SLS load combinations.

Accessed via app.loads.combinations.

Parameters:

raw_app (Any)

del_all_combinations()[source]

Deletes all combinations in the model

Return type:

None

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 used

  • name (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 option

  • pdelta (bool) – trigger p-delta

  • comb_name (str)

  • label (str)

  • case_analize_type (CaseAnalizeType)

  • case_nature (CaseNature)

Return type:

None

LoadEditor

class pyrobotstructural.loads.load.LoadEditor(raw_app)[source]

Bases: _BaseEditor

Editor 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/m

  • case_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 system

  • dis_z (float) – Eccentricity distance in z direction in local system

  • 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 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 Newtons

  • case_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 system

  • calc_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/m

  • case_name (str) – Loadcase name to which the load will be asigned

  • objects (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 Pa

  • case_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-projected

  • coord_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 Newtons

  • case_name (str) – Loadcase name to which the load will be asigned

  • objects (int | str) – List of objects eg. “1 2 3”

  • coord_sys (int) – 0 - global, 1 - local system

  • gamma (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 asigned

  • contour_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 to 0.

  • coord_sys (int) – 0 – global, 1 – local. Defaults to 0.

Return type:

None