GetCurved_1

GetCurved_1

Syntax

SapObject.SapModel.FrameObj.GetCurved_1

VB6 Procedure

Function GetCurved_1(ByRef NumberItems As Integer, ByRef MyName As String(), ByRef MyType() As Integer, ByRef gx() As Double, ByRef gy() As Double, ByRef gz() As Double, ByRef PointName() As String, ByRef Radius() As Double, ByRef NumSegs() As Integer) As Long

Parameters

NumberItems

The number of curved frame objects returned.

MyName

This is a one-dimensional array of frame object names. The MyName array is created as a dynamic, zero-based, array by the APIuser:

Dim MyName() as String

The array is dimensioned to (NumberNames 1) inside the Sap2000 program, filled with the names, and returned to the APIuser

MyType

This is an array that includes a numeric value indicating the curved frame type. The type is 1, 2, 3, 4, or 5.

1 = Circular Arc Specified by a Third Point Name

2 = Circular Arc Specified by Third Point Coordinates

3 = Circular Arc Specified by Planar Point Coordinates and Radius

4 = Parabolic Arc Specified by a Third Point Name

5 = Parabolic Arc Specified by Third Point Coordinates

MyTypes 1, 2, 4, and 5 all define the curve by three points. The three points are the two end point of the frame object and a third point defined by naming an existing point object or specifying point coordinates.

MyType 3 defines a circular curved frame by it end points, the coordinates of another point that lies in the plane of the curve but not necessarily on the curved frame, and a curve radius.

gx, gy, gz

These are arrays that include the point coordinates in the global coordinate system. [L]

For MyType 1 and 4 these items do not apply.

For MyType 2 and 5 these are the coordinates of the third point on the curved frame.

For MyType 3 these are the coordinates of the planar point that lies in the plane of the curved frame.

PointName

This is an array that includes the name of the point object that is the third point on the curved frame. This item applies for MyType 1 and 4. It does not apply for MyType 2, 3 and 5.

Radius

This is an array of the radii of the circular curved frame. This item only applies for MyType 3. [L]

NumSegs

This is an array that includes the number of segments into which the program internally divides the curved frame.

Remarks

This function retrieves definition data for all curved frame objects and returns the data in arrays.

The function returns zero if the curved frame object data is successfully retrieved, otherwise it returns a nonzero value.

VBA Example

Sub GetCurvedFrames()

'dimension variables

Dim SapObject as cOAPI

Dim SapModel As cSapModel

Dim ret As Long

Dim NumberItems As Long

Dim MyName() As String

Dim MyType() As Long

Dim gx() As Double

Dim gy() As Double

Dim gz() As Double

Dim PointName() As String

Dim Radius() As Double

Dim NumSegs() As Long

'create Sap2000 object

Set SapObject = CreateObject("CSI.SAP2000.API.SapObject")

'start Sap2000 application

SapObject.ApplicationStart

'create SapModel object

Set SapModel = SapObject.SapModel

'initialize model

ret = SapModel.InitializeNewModel

'create model from template

ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)

'set frames curved

ret = SapModel.FrameObj.SetCurved("13", 1, 0, 0, 0, "1", 0, 16)

ret = SapModel.FrameObj.SetCurved("14", 2, -200, 0, 176, "", 0, 16)

ret = SapModel.FrameObj.SetCurved("15", 3, 0, 0, 0, "", 100, 16)

ret = SapModel.FrameObj.SetCurved("16", 4, 0, 0, 0, "3", 0, 16)

ret = SapModel.FrameObj.SetCurved("17", 5, 0, 0, 176, "", 0, 16)

'get curved frame data

ret = SapModel.FrameObj.GetCurved_1(NumberItems, MyName, MyType, gx, gy, gz, PointName, Radius, NumSegs)

'close Sap2000

SapObject.ApplicationExit False

Set SapModel = Nothing

Set SapObject = Nothing

End Sub

Release Notes

Initial release in version 17.2.0.

This function supersedes 
GetCurved
.

See Also

SetStraight

SetCurved

GetType