cLinkObjGetLocalAxesAdvanced Method

Retrieves advanced local axes assignment for link objects.

Namespace:  ETABS2016
Assembly:  ETABS2016 (in ETABS2016.dll) Version: 16.0.0.0 (16.0.0.0)
Syntax
int GetLocalAxesAdvanced(
	string Name,
	ref bool Active,
	ref int AxVectOpt,
	ref string AxCSys,
	ref int[] AxDir,
	ref string[] AxPt,
	ref double[] AxVect,
	ref int Plane2,
	ref int PlVectOpt,
	ref string PlCSys,
	ref int[] PlDir,
	ref string[] PlPt,
	ref double[] PlVect
)

Parameters

Name
Type: SystemString
The name of an existing link object.
Active
Type: SystemBoolean
This is True if advanced local axes exist
AxVectOpt
Type: SystemInt32
This is 1, 2, or 3, indicating the axis reference vector option. This item applies only when the Active item is True.
ValueAxVectOpt
1Coordinate direction
2Two joints
3User vector
AxCSys
Type: SystemString
The coordinate system used to define the axis reference vector coordinate directions and the axis user vector. This item applies when the Active item is True and the AxVectOpt item is 1 or 3.
AxDir
Type: SystemInt32
AxPt
Type: SystemString
This is an array dimensioned to 1 (2 strings), indicating the labels of two joints that define the axis reference vector. Either of these joints may be specified as None to indicate the center of the specified object. If both joints are specified as None, they are not used to define the axis reference vector. This item applies when the Active item is True and the AxVectOpt item is 2.
AxVect
Type: SystemDouble
This is an array dimensioned to 2 (3 doubles) that defines the axis reference vector. This item applies when the Active item is True and the AxVectOpt item is 3.
Plane2
Type: SystemInt32
This is 12 or 13, indicating that the local plane determined by the plane reference vector is the 1-2 or 1-3 plane. This item applies only when the Active item is True.
PlVectOpt
Type: SystemInt32
This is 1, 2, or 3, indicating the plane reference vector option. This item applies only when the Active item is True.
ValuePlVectOpt
1Coordinate direction
2Two joints
3User vector
PlCSys
Type: SystemString
PlDir
Type: SystemInt32
PlPt
Type: SystemString
This is an array dimensioned to 1 (2 strings), indicating the labels of two joints that define the plane reference vector. Either of these joints may be specified as None to indicate the center of the specified object. If both joints are specified as None, they are not used to define the plane reference vector. This item applies when the Active item is True and the PlVectOpt item is 2.
PlVect
Type: SystemDouble
This is an array dimensioned to 2 (3 doubles) that defines the plane reference vector. This item applies when the Active item is True and the PlVectOpt item is 3.

Return Value

Type: Int32
Returns zero if the advanced local axes assignments are retrieved successfully; otherwise, it returns a nonzero value.
Remarks
Examples
VB
Public Sub Example()
       Dim SapModel As cSapModel
       Dim EtabsObject As cOAPI
       Dim ret As Integer = -1
       Dim MyName As String
       Dim MyAxDir(1) As Integer
       Dim MyAxPt(1) As String
       Dim MyAxVect(2) As Double
       Dim MyPlDir(1) As Integer
       Dim MyPlPt(1) As String
       Dim MyPlVect(2) As Double
       Dim Ang As Double
       Dim Advanced As Boolean
       Dim Active As Boolean
       Dim AxVectOpt As Integer
       Dim AxCSys As String
       Dim AxDir() As Integer
       Dim AxPt() As String
       Dim AxVect() As Double
       Dim Plane2 As Integer
       Dim PlVectOpt As Integer
       Dim PlCSys As String
       Dim PlDir() As Integer
       Dim PlPt() As String
       Dim PlVect() As Double

   'create ETABS object
       EtabsObject = CreateObject("CSI.ETABS.API.ETABSObject")

   'start ETABS application
       ret = EtabsObject.ApplicationStart()

   'create SapModel object
       SapModel = EtabsObject.SapModel

   'initialize model
       ret = SapModel.InitializeNewModel()

   'create steel deck template model
       ret = SapModel.File.NewSteelDeck(4,12,12,4,4,24,24)

   'add link object by points
       ret = SapModel.LinkObj.AddByPoint("1", "5", MyName)

   'assign link advanced local axes
       MyAxVect(0)=0.707
       MyAxVect(1)=0.707
       MyAxVect(2)=0
       MyPlDir(0) = 2
       MyPlDir(1) = 3
       ret = SapModel.LinkObj.SetLocalAxesAdvanced(MyName, True, 3, "Global", MyAxDir, MyAxPt, MyAxVect, 12, 1, "Global", MyPlDir, MyPlPt, MyPlVect)

   'get link local axis angle
       ret = SapModel.LinkObj.GetLocalAxes(MyName, Ang, Advanced)

   'get link advanced local axes data
       If Advanced Then
          ret = SapModel.LinkObj.GetLocalAxesAdvanced(MyName, Active, AxVectOpt, AxCSys, AxDir, AxPt, AxVect, Plane2, PlVectOpt, PlCSys, PlDir, PlPt, PlVect)
       End If

   'close ETABS
       EtabsObject.ApplicationExit(False)

   'clean up variables
       SapModel = Nothing
       EtabsObject = Nothing
   End Sub
See Also