Support

Restraints at nodes — fixed, pinned, roller, inclined, elastic, and mat supports — plus reading support reactions after analysis.

41 functions

Create

AddControlDependentRelation

Description

Adds the control dependent relation.

Parameters

  • control_node (int): control node.
  • rigid_type (int): rigid type.
  • fx (int): fx.
  • fy (int): fy.
  • fz (int): fz.
  • mx (int): mx.
  • my (int): my.
  • mz (int): mz.
  • dependent_node_list (list): dependent node list.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.AddControlDependentRelation(1, 1, 1, 1, 1, 1, 1, 1, [1, 2])
print(result)

AddSupportDisplacement

Description

Adds the support displacement.

Parameters

  • nodeIds (list): node ids.
  • varDirection (int): var direction.
  • varDispValue (float): var disp value.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.AddSupportDisplacement([1, 2], 1, 1.0)
print(result)

CreateElasticFooting

Description

Creates the elastic footing.

Parameters

  • length (float): length.
  • width (float): width.
  • direction (int): direction.
  • subgrade (float): subgrade.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.CreateElasticFooting(1.0, 1.0, 1, 1.0)
print(result)

CreateElasticMat

Description

Creates the elastic mat.

Parameters

  • direction (int): direction.
  • subgrade (float): subgrade.
  • printFlag (bool): print flag.
  • springType (int): spring type.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.CreateElasticMat(1, 1.0, True, 1)
print(result)

CreateInclinedSupport

Description

Creates the inclined support.

Parameters

  • inclinedType (int): inclined type.
  • refType (int): ref type.
  • refNode (int): ref node.
  • coord (list[float]): coord.
  • releaseSpec (list): release spec.
  • springSpec (list): spring spec.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.CreateInclinedSupport(1, 1, 1, [1, 2], [1, 2], [1, 2])
print(result)

CreatePlateMat

Description

Creates the plate mat.

Parameters

  • direction (int): direction.
  • subgrades (list[float]): subgrades.
  • printFlag (bool): print flag.
  • springType (int): spring type.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.CreatePlateMat(1, [1, 2], True, 1)
print(result)

CreateSupportFixed

Description

Creates a fully fixed support definition, ready to be assigned to nodes with AssignSupportToNode or AssignSupportToNodes.

Parameters

None.

Returns

int: The new support definition's ID.

Example

from openstaad import ops

s = ops.connect()
fixed_support = s.CreateSupportFixed()
s.AssignSupportToNode(1, fixed_support)

This example creates a fixed support and assigns it to node 1.

CreateSupportFixedBut

Description

Creates the support fixed but.

Parameters

  • ReleaseSpec (list): release spec.
  • SpringSpec (list): spring spec.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.CreateSupportFixedBut([1, 2], [1, 2])
print(result)

CreateSupportPinned

Description

Creates a pinned support definition — free to rotate about the local y and z axes, fixed in every other degree of freedom — ready to be assigned to nodes with AssignSupportToNode or AssignSupportToNodes.

Parameters

None.

Returns

int: The new support definition's ID.

Example

from openstaad import ops

s = ops.connect()
pinned_support = s.CreateSupportPinned()
s.AssignSupportToNode(2, pinned_support)

This example creates a pinned support and assigns it to node 2.

Get

GetCountOfElasticFooting

Description

Returns the count of elastic footing.

Parameters

None.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetCountOfElasticFooting()
print(result)

GetCountOfElasticMat

Description

Returns the count of elastic mat.

Parameters

None.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetCountOfElasticMat()
print(result)

GetCountOfPlateMat

Description

Returns the count of plate mat.

Parameters

None.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetCountOfPlateMat()
print(result)

GetElasticFootingAssignmentList

Description

Returns the elastic footing assignment list.

Parameters

  • supportid (int): supportid.

Returns

list: A list of integers.

Example

from openstaad import ops

s = ops.connect()
result = s.GetElasticFootingAssignmentList(1)
print(result)

GetElasticFootingDetail

Description

Returns the elastic footing detail.

Parameters

  • supportid (int): supportid.

Returns

tuple: A tuple of (float, float, int, float, int).

Example

from openstaad import ops

s = ops.connect()
result = s.GetElasticFootingDetail(1)
print(result)

GetElasticMatAssignmentList

Description

Returns the elastic mat assignment list.

Parameters

  • supportid (int): supportid.

Returns

list: A list of integers.

Example

from openstaad import ops

s = ops.connect()
result = s.GetElasticMatAssignmentList(1)
print(result)

GetElasticMatDetail

Description

Returns the elastic mat detail.

Parameters

  • supportid (int): supportid.

Returns

tuple: A tuple of (int, float, bool, int, int).

Example

from openstaad import ops

s = ops.connect()
result = s.GetElasticMatDetail(1)
print(result)

GetMatInfluenceAreas

Description

Returns the mat influence areas.

Parameters

  • nodelist (list): nodelist.

Returns

tuple: A tuple of (list[float], list[float], list[float]).

Example

from openstaad import ops

s = ops.connect()
result = s.GetMatInfluenceAreas([1, 2])
print(result)

GetPlateMatAssignmentList

Description

Returns the plate mat assignment list.

Parameters

  • plateMatNo (int): plate mat no.

Returns

list: A list of integers.

Example

from openstaad import ops

s = ops.connect()
result = s.GetPlateMatAssignmentList(1)
print(result)

GetPlateMatDetail

Description

Returns the plate mat detail.

Parameters

  • plateMatNo (int): plate mat no.

Returns

tuple: A tuple of (int, float, float, float, int, int, int).

Example

from openstaad import ops

s = ops.connect()
result = s.GetPlateMatDetail(1)
print(result)

GetPlateMatSupportId

Description

Returns the plate mat support Id.

Parameters

  • plateMatIndex (int): plate mat index.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetPlateMatSupportId(1)
print(result)

GetSupportCount

Description

Returns the total number of supports defined in the model.

Parameters

None.

Returns

int: The number of supports.

Example

from openstaad import ops

s = ops.connect()
count = s.GetSupportCount()
print(f"Number of supports: {count}")

GetSupportInformation

Description

Returns the support information.

Parameters

  • nodeNo (int): node no.

Returns

tuple: A tuple of (raw, list[int], list[float]).

Example

from openstaad import ops

s = ops.connect()
result = s.GetSupportInformation(1)
print(result)

GetSupportInformationEx

Description

Returns the support information ex.

Parameters

  • nodeNo (int): node no.

Returns

tuple: A tuple of (int, int, list[int], list[float]).

Example

from openstaad import ops

s = ops.connect()
result = s.GetSupportInformationEx(1)
print(result)

GetSupportName

Description

Returns the support name.

Parameters

  • supportNo (int): support no.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetSupportName(1)
print(result)

GetSupportNodes

Description

Returns the list of nodes that have a support assigned.

Parameters

None.

Returns

list: A list of node numbers with a support assigned.

Example

from openstaad import ops

s = ops.connect()
nodes = s.GetSupportNodes()
print(nodes)

GetSupportReactions

Description

Returns the support reactions.

Parameters

  • nodeNo (int): node no.
  • loadCaseNo (int): load case no.

Returns

list: A list of numbers (floats).

Example

from openstaad import ops

s = ops.connect()
result = s.GetSupportReactions(1, 1)
print(result)

GetSupportType

Description

Returns the support type assigned to a node.

Parameters

  • nodeNo (int): Number of the node to query.

Returns

int: The support type code for the node (see the STAAD.Pro Technical Reference Manual for the type-code mapping). For the release/spring breakdown of a support, see GetSupportInformation.

Example

from openstaad import ops

s = ops.connect()
support_type = s.GetSupportType(3)
print(f"Support type at node 3: {support_type}")

GetSupportUniqueID

Description

Returns the support unique ID.

Parameters

  • supportNo (int): support no.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.GetSupportUniqueID(1)
print(result)

Set/Assign

AssignSupportToEntityList

Description

Assigns the support to entity list.

Parameters

  • supportid (int): supportid.
  • entitylist (list[int]): entitylist.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.AssignSupportToEntityList(1, [1, 2])
print(result)

AssignSupportToNode

Description

Assigns a previously created support definition to a single node. For several nodes at once, use AssignSupportToNodes.

Parameters

  • NodeID (int): A single node number. Any integer type is accepted, including NumPy integers.
  • SupportID (int): ID of a support definition, as returned by CreateSupportFixed, CreateSupportPinned, or a similar Create*Support* function.

Returns

bool: True if STAAD.Pro accepted the assignment.

Raises

TypeError if NodeID is not a single integer. Lists, tuples and arrays are rejected with a message pointing to AssignSupportToNodes.

Example

from openstaad import ops

s = ops.connect()
pinned = s.CreateSupportPinned()
s.AssignSupportToNode(5, pinned)

This example creates a pinned support and assigns it to node 5.

Why collections are rejected

The underlying OpenSTAAD COM method processes one node per call. Passing it an array assigns only the first element and reports no error, which produces a model that analyzes cleanly with the wrong boundary conditions. This function therefore fails loudly instead:

s.AssignSupportToNode([5, 6, 7, 8], pinned)
# TypeError: NodeID expects a single integer; for several use AssignSupportToNodes()

See AssignSupportToNodes for the multiple-node case.

AssignSupportToNodes

Description

Assigns a previously created support definition to one or more nodes.

Parameters

  • NodeIDs (int or Iterable[int]): A single node number, or any collection of them — list, tuple, range, generator or NumPy array. Integer types include NumPy integers.
  • SupportID (int): ID of a support definition, as returned by CreateSupportFixed, CreateSupportPinned, or a similar Create*Support* function.

Returns

bool: True if every assignment was accepted.

Raises

TypeError if NodeIDs is not an integer or a collection of integers. The message identifies the offending element by index, e.g. NodeIDs[2] expects an integer, not str.

Example

from openstaad import ops

s = ops.connect()
pinned = s.CreateSupportPinned()

s.AssignSupportToNodes([5, 6, 7, 8], pinned)
s.AssignSupportToNodes(range(5, 9), pinned)   # equivalent
s.AssignSupportToNodes(5, pinned)             # a single node also works

Note

This function is not part of the official OpenSTAAD API. It exists because the COM method behind it assigns one node per call; see AssignSupportToNode.

SetSupportUniqueID

Description

Sets the support unique ID.

Parameters

  • supportNo (int): support no.
  • guid (str): guid.

Returns

None: This function does not return a value.

Example

from openstaad import ops

s = ops.connect()
s.SetSupportUniqueID(1, "value")

Delete

DeleteAllControlDependentRelations

Description

Deletes the all control dependent relations.

Parameters

None.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.DeleteAllControlDependentRelations()
print(result)

DeleteSupport

Description

Deletes the support.

Parameters

  • supportNo (int): support no.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.DeleteSupport(1)
print(result)

RemoveElasticFooting

Description

Removes the elastic footing.

Parameters

  • supportid (int): supportid.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.RemoveElasticFooting(1)
print(result)

RemoveElasticFootingFromNode

Description

Removes the elastic footing from node.

Parameters

  • nodeid (int): nodeid.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.RemoveElasticFootingFromNode(1)
print(result)

RemoveElasticMat

Description

Removes the elastic mat.

Parameters

  • supportid (int): supportid.

Returns

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

Example

from openstaad import ops

s = ops.connect()
result = s.RemoveElasticMat(1)
print(result)

RemoveElasticMatFromNode

Description

Removes the elastic mat from node.

Parameters

  • nodeid (int): nodeid.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.RemoveElasticMatFromNode(1)
print(result)

RemovePlateMat

Description

Removes the plate mat.

Parameters

  • supportId (int): support Id.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.RemovePlateMat(1)
print(result)

RemovePlateMatFromPlate

Description

Removes the plate mat from plate.

Parameters

  • plateNo (int): plate no.

Returns

bool: True if the call succeeded, False otherwise.

Example

from openstaad import ops

s = ops.connect()
result = s.RemovePlateMatFromPlate(1)
print(result)

RemoveSupportFromNode

Description

Removes the support from node.

Parameters

  • NodeIDs (list): node i ds.

Returns

None: This function does not return a value.

Example

from openstaad import ops

s = ops.connect()
s.RemoveSupportFromNode([1, 2])