cLinkObjSetLocalAxesAdvanced Method

Assigns advanced local axes to link objects

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

Parameters

Name
Type: SystemString
The name of an existing link object or group depending on the value of the ItemType item.
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.
ItemType (Optional)
Type: ETABS2016eItemType
This is one of the items in the eItemType enumeration.

If this item is Objects, the assignment is made to the link object specified by the Name item.

If this item is Group, the assignment is made to the all link objects in the group specified by the Name item.

If this item is SelectedObjects, the assignment is made to all selected link objects, and the Name item is ignored.

Return Value

Type: Int32
Returns zero if the advanced local axes assignments are assigned 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


   '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)

   'close ETABS
       EtabsObject.ApplicationExit(False)

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