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)
Syntaxint 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
)
Function GetLocalAxesAdvanced (
Name As String,
ByRef Active As Boolean,
ByRef AxVectOpt As Integer,
ByRef AxCSys As String,
ByRef AxDir As Integer(),
ByRef AxPt As String(),
ByRef AxVect As Double(),
ByRef Plane2 As Integer,
ByRef PlVectOpt As Integer,
ByRef PlCSys As String,
ByRef PlDir As Integer(),
ByRef PlPt As String(),
ByRef PlVect As Double()
) As Integer
int GetLocalAxesAdvanced(
String^ Name,
bool% Active,
int% AxVectOpt,
String^% AxCSys,
array<int>^% AxDir,
array<String^>^% AxPt,
array<double>^% AxVect,
int% Plane2,
int% PlVectOpt,
String^% PlCSys,
array<int>^% PlDir,
array<String^>^% PlPt,
array<double>^% PlVect
)
abstract GetLocalAxesAdvanced :
Name : string *
Active : bool byref *
AxVectOpt : int byref *
AxCSys : string byref *
AxDir : int[] byref *
AxPt : string[] byref *
AxVect : float[] byref *
Plane2 : int byref *
PlVectOpt : int byref *
PlCSys : string byref *
PlDir : int[] byref *
PlPt : string[] byref *
PlVect : float[] byref -> int
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.
Value | AxVectOpt |
---|
1 | Coordinate direction |
2 | Two joints |
3 | User 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.
Value | PlVectOpt |
---|
1 | Coordinate direction |
2 | Two joints |
3 | User 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:
Int32Returns zero if the advanced local axes assignments are retrieved successfully;
otherwise, it returns a nonzero value.
Remarks
ExamplesPublic 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
EtabsObject = CreateObject("CSI.ETABS.API.ETABSObject")
ret = EtabsObject.ApplicationStart()
SapModel = EtabsObject.SapModel
ret = SapModel.InitializeNewModel()
ret = SapModel.File.NewSteelDeck(4,12,12,4,4,24,24)
ret = SapModel.LinkObj.AddByPoint("1", "5", MyName)
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)
ret = SapModel.LinkObj.GetLocalAxes(MyName, Ang, Advanced)
If Advanced Then
ret = SapModel.LinkObj.GetLocalAxesAdvanced(MyName, Active, AxVectOpt, AxCSys, AxDir, AxPt, AxVect, Plane2, PlVectOpt, PlCSys, PlDir, PlPt, PlVect)
End If
EtabsObject.ApplicationExit(False)
SapModel = Nothing
EtabsObject = Nothing
End Sub
See Also