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 byCreateSupportFixed,CreateSupportPinned, or a similarCreate*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 byCreateSupportFixed,CreateSupportPinned, or a similarCreate*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])