Joint linking or master/slave grouping in a model is represented using the NodeLinkGroup object. This object encapsulates all the properties of the linked group of nodes such as which degrees of freedom are linked, the linked nodes and the name of the group. All the joint linking groups in a structural model are contained within the NodeLinkGroups collection which can be referenced directly from the Frame object using the property of the same name.

A summary of all the properties and methods of the NodeLinkGroup object are listed in the table below.
|
Property |
Type |
Description |
|
DOF |
Boolean |
Get/Set whether a specific degree of freedom is slaved. |
|
Label |
String |
Get/Set name of the group. |
|
MasterNode |
Boolean |
Get/Set the master node. |
|
Nodes |
NodeList/Variant |
Get/Set the list of the linked nodes. |
|
LinkedDOF |
Variant |
Get/Set the slaved degrees of freedom. |
|
Method |
Returns |
Description |
|
AddNodes |
|
Adds nodes to the group. |
|
RemoveNodes |
|
Removes nodes from the group |
In addition, the Application, Frame, Number and Index properties as well as the Delete method are common to many objects and are described in Chapter 2.
A new master/slave grouping is added to a frame using the AddGroup method of the NodeLinkGroups collection. This method requires four parameters that specify the name of the group, the nodes to be linked in the group, the master node and which degrees of freedom are linked together by the group. The nodes in the group are specified using a variant parameter and so any value representing a group of nodes can be used to specify this list. Typically this will be either an array of indices or a NodeList object. Similarly, the master node is also specified as a variant and as such can be identified by any value representing a single node. The final parameter identifying the slaved degrees of freedom is also a variant parameter but it must contain an array of six Boolean values that correspond to each of the degrees of freedom. The entries in this array should be set as true if the corresponding degree of freedom is to be restrained. The AddGroup method returns the NodeLinkGroup object referencing the new group added to the frame.
The following code demonstrates how to add a group of linked nodes to the frame. In this example, all the nodes at y=4.5 are linked together to form a floor with rigid in-plane behaviour.
Dim myGroup As Multiframe.NodeLinkGroup
Dim myNodeList As New Multiframe.NodeList
Dim dof(1 To 6) As Boolean
dof(1) = True
dof(2) = False
dof(3) = True
dof(4) = False
dof(5) = True
dof(6) = False
' Select all nodes in first floor which is at y=4.5
' by finding all nodes lying between y=4 and y=5
Set myNodeList = myFrame.Nodes.Find("y", 4, 5)
’ Create the linked group
’ The first node in the list is used as the master node
With myFrame.NodeLinkGroups
Set myGroup = .AddGroup("Floor
1", myNodeList, myNodeList(1), dof)
End With
In this example to Find method of the Nodes collection is used to select the list of nodes to be linked. The Find method is common to most collections and lists in the Multiframe Object Model. It is used to find all the items in the collection or list with a property that meets a specified criterion. In this instance, this method has been used to find all the nodes with a y-coordinate lying between 4 and 5. The Find method is described in detail in Chapter 10.
The Nodes property of the NodeLinkGroup object returns a NodeList object containing each of the nodes in the linked group. This property can also be used to set the nodes in the group and can be set equal to any value that represents one or more nodes such as a NodeList object. The master node for the linked group is identified via the MasterNode property. This property returns the Node object representing the master node. This property can be used to set the master node and can be set equal to any value used to represent a single node such as it’s index or a Node object.
Dim myGroup As Multiframe.NodeLinkGroup
Dim myNodeList As New Multiframe.NodeList
' Find all nodes in second floor which is at y=6.5
Set myNodeList = myFrame.Nodes.Find("y", 6.4, 6.6)
’ Reset nodes in the group
myFrame.NodeLinkGroups(“Floor 2”).Nodes = myNodeList
myFrame.NodeLinkGroups(“Floor 2”).MasterNode = myNodeList(1)
The degrees of freedom linked by the group can be identified via two properties of the NodeLinkGroup object. The DOF property accepts a single parameter identifying a nodal degree of freedom and returns true if that degree of freedom is linked. The SlavedDOF property returns an array of six (6) Boolean values corresponding to each of the nodal degrees of freedom. The entires in this array are set true if the corresponding degree of freedom is linked by the group.
Dim myGroup As Multiframe.NodeLinkGroup
Dim myNodeList As New Multiframe.NodeList
’ Reset nodes in group 2 to form rigid wall in XY plane
myFrame.NodeLinkGroups(2).DOF(1) = true
myFrame.NodeLinkGroups(2).DOF(2) = true
myFrame.NodeLinkGroups(2).DOF(3) = false
myFrame.NodeLinkGroups(2).DOF(4) = false
myFrame.NodeLinkGroups(2).DOF(5) = false
myFrame.NodeLinkGroups(2).DOF(6) = true
’ Set linked DOF in group named “Floor 2”
myFrame.NodeLinkGroups(“Floor 2”).LinkedDOF = Array(1,0,1,0,1,0)
The name of the group is referenced via the Label property of the NodeLinkGroup object.
Nodes may be added or removed from the linked group using the AddNodes and RemoveNodes methods of the NodeLinkGroup object. These methods take a single variant parameter that specifies the nodes to be added or removed from the group. A simple example demonstrating the various parameters that can be passed to these methods is shown below.
Dim mylist As New Multiframe.NodeList
mylist.Add "20-30"
With mfApp.Frame.nodeLinkGroups(1)
’Add nodes to linked group
Call .AddNodes(1) 'Add node by index
Call .AddNodes("2-9,12") 'Add nodes listed by index
Call
.AddNodes(mfApp.Frame.Nodes(10)) 'Add
node using node object
Call .AddNodes(mylist) ‘Add nodes using list
‘Remove nodes from linked group
Call .RemoveNodes(1) 'By index
Call .RemoveNodes("2-9,12")
Call .RemoveNodes(mylist) 'Using a list of nodes
End With