Rigid Link
A nested class within Boundary used to create rigid connections between a master node and multiple slave nodes.
Constructor
Boundary.RigidLink(master_node, slave_nodes, group = "", id = None, dof = 111111)
Creates rigid links connecting a master node to one or more slave nodes with specified degrees of freedom.
Parameters
master_node
: Master node ID (controls the motion)slave_nodes
: List of slave node IDs (follow master node motion)group (default="")
: Boundary group nameid (default=None)
: Manual ID assignment (auto-assigned if None)dof (default=111111)
: Degrees of freedom constraint (6-digit integer)
DOF Constraint Format
- 6-digit format: DXDYDZ RXRYRZ (e.g., 111111 for all DOF, 111000 for translations only)
- 1: Constrained (rigid connection)
- 0: Free (no constraint)
Class Attributes
Boundary.RigidLink.links -> List of all rigid link instances.
Object Attributes
M_NODE
(int): The master node ID of the rigid link.S_NODE
(list): A list of slave node IDs.GROUP_NAME
(str): The name of the boundary group.DOF
(int): A 6-digit integer representing the degrees of freedom constrained (Dx, Dy, Dz, Rx, Ry, Rz). '1' for constrained.ID
(int): The ID of the rigid link.
Methods
json
Returns JSON representation of all rigid links.
rlink1 = Boundary.RigidLink(1, [2, 3], "Group1", 1, 111111)
print(Boundary.RigidLink.json())
create
Sends rigid link data to Civil NX.
Boundary.RigidLink.create()
get
Fetches rigid link data from Civil NX.
print(Boundary.RigidLink.get())
sync
Synchronizes rigid links from Civil NX to Python.
Boundary.RigidLink.sync()
delete
Deletes all rigid links from both Python and Civil NX.
Boundary.RigidLink.delete()
Examples
Single Slave Node
# Create nodes
for i in range(5):
Node(i*5, 0, 0)
Node.create()
# Rigid link between master and single slave
rlink1 = Boundary.RigidLink(1, [2], "", 1, 111111)
Boundary.RigidLink.create()
Multiple Slave Nodes
# Create nodes
for i in range(5):
Node(i*5, 0, 0)
Node.create()
# Rigid link with multiple slave nodes
rlink2 = Boundary.RigidLink(3, [4, 5], "", 2, 111111)
Boundary.RigidLink.create()
Partial DOF Constraint
# Create nodes
for i in range(5):
Node(i*5, 0, 0)
Node.create()
# Rigid link with only translational constraints
rlink3 = Boundary.RigidLink(1, [2, 3], "", 3, 111000)
Boundary.RigidLink.create()