The Member object represents a design member within a structure. This object encapsulates all the properties of a design member such as its position, length, slope, section and orientation. All the members that are defined within a structure are contained within the Members collection that is stored as part of the Frame object.

A summary of all the properties and methods of the Member object are listed in the table below.
|
Properties |
Type |
Description |
|
Elements |
ElementList |
Get the list of elements that make up the member. |
|
FlipSectionXX |
Boolean |
Get/Set whether the members section is flipped about its x-axis. |
|
FlipSectionYY |
Boolean |
Get/Set whether the members section is flipped about its y-axis. |
|
Length |
Double |
Read Only. Returns the length of the member. |
|
Node* |
Node/Variant |
Read Only. Returns the node at a specified end of the member. |
|
Nodes |
NodeList |
Read Only. Returns a list of all nodes along the member. |
|
Orientation |
Double |
Get/Set the orientation of the member. |
|
Section |
Section/Variant |
Get/Set the section. |
|
Slope |
Double |
Read Only. Get the slope of the member. |
|
SlopeXY |
Double |
Read Only. Get the slope of the member in the X-Y plane. |
|
SlopeZX |
Double |
Read Only. Get the slope of the member in the Z-X plane. |
|
SlopeZY |
Double |
Read Only. Get the slope of the member in the Z-Y plane. |
|
XYZ* |
Variant |
Read only. Returns the position of a specified end of the member. |
|
X* |
Double |
Read only. Returns the x-coordinate of a specified end of the member. |
|
Y* |
Double |
Read only. Returns the y-coordinate of a specified end of the member. |
|
Z* |
Double |
Read only. Returns the z-coordinate of a specified end of the member. |
*Denotes a property that takes a parameter specifying an end of the member.
|
Method |
Returns |
Description |
|
GlobalToLocal |
Variant |
Transforms a vector of values from global to local member coordinates. |
|
LocalToGlobal |
Variant |
Transforms a vector of values from local member coordinates to global coordinates. |
|
Results |
MemberResult |
Returns the results at the member for a specific analysis and load case. |
|
SetSection |
|
Sets the section type of the member. |
|
Ungroup |
|
Ungroups the elements forming the design member. |
In addition, the Application, Frame, Number, Label and Index properties as well as the Delete method are common to many objects and are described in Chapter 2.
A design member in Multiframe is a single element or a group of collinear connected elements. Elements can be grouped together to form a design member using the Group method of the Members object. This method requires a single parameter that specifies the elements to be linked together. This is a variant parameter and so any value identifying a list of elements will be acceptable such as an array of elements indices or an ElementList object. A simple example demonstrating this method is shown below. This example subdivides an element and then groups the resulting elements into a single member.
Dim myElList As New Multiframe.ElementList
Dim myMbr As Multiframe.Member
’ Subdivide element
Set myElList = myFrame.Elements(1).Subdivide(5)
’Create design member from new elements forming the original element
Call myFrame.Members.Group(myElList)
The section and its orientation within a member are referenced via the Section, Orientation, FlipSectionXX, FlipSectionYY properties of the Member object. The Section property identifies the Section object that represents the section currently allocated to the member. When setting the Section property, the new section can be specified using a Section object or by its name. In this case, Multiframe will search the section library to locate a matching section. Additional functionality for setting the section type is provided by the SetSection method described in the next section. The orientation of the section, expressed in the current angle units, is controlled via the Orientation property. For sections that are not double symmetric, the orientation method is complemented by the FlipSectionXX, FlipSectionYY properties that provide a means of correctly positioning the section in relation to the member. When these properties are set true, the orientation of the section will be flipped about the specified axis. An example on setting the section type and orientation is shown below.
Dim myMbr as Multiframe.Member
Dim s as string
’Get reference to member 12
Set myMbr = myFrame.Members(12)
’Set section type using two different methods
myMbr.Section = mfApp.SectionsLibrary.Groups(1).Sections(3)
myMbr.Section = “610UB101”
’Set section orientation
myMbr.Orientation= 45.0
myMbr.FlipSectionXX = true
myMbr.FlipSectionYY = false
’Notify user of elements section type
s = "Member "+Str(myMbr.Index)+” has section type
”+myMbr.Section.Name
MsgBox s, vbOKOnly, "Multiframe"
The position of a members end can be determined using the X, Y and Z properties of the Member object which each return a single component of the ends position in global coordinates. The XYZ property provides a faster method of accessing all three components of an end position and returns the coordinates as array of three values. Each of the methods takes a single parameter identifying an end of the member.
The length and slope of a member can be determined from the read-only properties Length, Slope, SlopeXY, SlopeZX, SlopeZY. The Length property returns the length of the member in the current length units. Note the length of the member is measured between end points defined by the end offsets and is NOT the distance between the nodes defining the member. The four methods for returning the slope of the member return a value in terms of the current angular units set within Multiframe. The Slope method returns the slope of the member in the X-Y plane and corresponds the slope of the member displayed in the user interface. The other three slope methods return the slope of the member in a specific plane. The SlopeXY returns the slope of the member in the XY plane that is measured from the X to the Y-axes. Similar the SlopeZX and SlopeZY properties return the slope of the member in the ZX and ZY plane respectively, with the angle measured from the Z axis.
Dim myMbr as Multiframe.Member
Dim s as string
’Get reference to member 10
Set myMbr = myFrame.Members(10)
’Notify user of members slope in XY plane
s = "Slope of Member in XY plane is: "+Str(myMbr.SlopeXY)
MsgBox s, vbOKOnly, "Member "+Str(myMbr.Index)
’Notify user of members slope in ZX plane
s = "Slope of Member in ZX plane is: "+Str(myMbr.SlopeZX)
MsgBox s, vbOKOnly, "Member "+Str(myMbr.Index)
The elements that form a design member are referenced via the Elements property of the Member object. This property returns an ElementList object that contains each of the elements forming the member. Similarly, the Nodes property of the Member object returns a list of all the nodes along the member.
The SetSection method of the Member object is used to specify the section type of a member. This method takes up to two parameters that specify the section and optionally the group in which it is contained. The section can be identified in a number of ways; the first is simply by the index of the section and the group in which it is contained. In this case the group can be specified by its index within the sections library, its name or by passing a SectionGroup object. The second method of setting the section is to use its name. In this case no group is required and Multiframe will search the entire sections library to locate the sections. The final way of setting the section type is to pass a Section object. Some typical uses of this method are shown in the following code.
Dim myMbr As Multiframe.Member
Dim mySection as Multiframe.Section
’Get reference to member 5
Set myMbr = myFrame.Members(5)
'Set section to the fourth section in the second group
Call myMbr.SetSection(4,2)
'Set section to sixth section in the group named UB
Call myMbr.SetSection(6,”UB”)
'Set section to section named 610UB101
Call myMbr.SetSection(“610UB101”)
'Set section to fifth section in fourth group using section object
Set mySection = mfApp.SectionsLibrary.groups(4).Sections(5)
Call myMbr.SetSection(mySection)
The Results method of the Member object provides a means of directly accessing the results at a member, from a particular analysis, without navigating through the hierarchy of the Results object. This method takes three parameters; the first is a variant parameter identifying the load case for which the results are required, the second identifies the type of analysis. The third parameter is redundant and has been included for future expansion of the automation interface. The Results method returns an MemberResult object that encapsulates access to the nodal displacements and reactions. This object is described in detail in Chapter 7.
The Member object also provides two methods for transforming an array of values between global and local nodal coordinates. These methods can transform arrays containing either 6 or 12 values. The GlobalToLocal method, as the name suggests, transforms values from the global coordinate system to the members local coordinate system as defined by the members position and orientation. Conversely, the LocalToGlobal method transforms values expressed in the member local coordinate system back to global coordinates. A simple example is shown below.
Dim myMbr As Multiframe.Member
Dim r As Variant
’Get reference to member 1
Set myMbr = myFrame.Members(1)
’Get vector of nodal displacements wrt global axes
r = myNode.Results(1, mfAnalysisStatic).Reactions
’Tranform reactions to local member axes
r = myMbr.GlobalToLocal(r)
A design member that consists of several elements can be broken into design members representing a single element using the Ungroup method of the Member object.