Assigns the layer parameters for shell-type area properties
Namespace: ETABS2015Assembly: ETABS2015 (in ETABS2015.dll) Version: 15.0.0.0 (15.0.0.0)
int SetShellLayer(
string Name,
int NumberLayers,
ref string[] LayerName,
ref double[] Dist,
ref double[] Thickness,
ref string[] MatProp,
ref bool[] Nonlinear,
ref double[] MatAng,
ref int[] NumIntegrationPts
)
Function SetShellLayer ( _
Name As String, _
NumberLayers As Integer, _
ByRef LayerName As String(), _
ByRef Dist As Double(), _
ByRef Thickness As Double(), _
ByRef MatProp As String(), _
ByRef Nonlinear As Boolean(), _
ByRef MatAng As Double(), _
ByRef NumIntegrationPts As Integer() _
) As Integer
int SetShellLayer(
String^ Name,
int NumberLayers,
array<String^>^% LayerName,
array<double>^% Dist,
array<double>^% Thickness,
array<String^>^% MatProp,
array<bool>^% Nonlinear,
array<double>^% MatAng,
array<int>^% NumIntegrationPts
)
Parameters
- Name
- Type:
System String
The name of an existing shell-type
area property that is specified to be a layered shell property.
- NumberLayers
- Type:
System Int32
The number of layers in the area property.
- LayerName
- Type:
System String
This is an array that includes the name of each layer.
- Dist
- Type:
System Double
- Thickness
- Type:
System Double
This is an array that includes the thickness of each layer. [L]
- MatProp
- Type:
System String
This is an array that includes the name of the material property for the layer.
- Nonlinear
- Type:
System Boolean
- MatAng
- Type:
System Double
- NumIntegrationPts
- Type:
System Int32
The number of integration points in the thickness direction for the layer.
The locations are determined by the program using standard Guass-quadrature rules.
Return Value
Returns zero if the parameters are successfully assigned;
otherwise it returns a nonzero value.
The function returns an error if the specified area property
is not a shell-type property specified to be a layered shell.
Public Sub Example()
Dim SapModel As cSapModel
Dim EtabsObject As cOAPI
Dim ret As Integer = -1
Dim Name As String
Dim MyNumberLayers As Integer
Dim MyLayerName() As String
Dim MyDist() As Double
Dim MyThickness() As Double
Dim MyNumIntegrationPts() As Integer
Dim MyMatProp() As String
Dim MyMatAng() 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.PropArea.SetShell_1("A1", 6, True, "", 0, 0, 0)
ret = SapModel.PropMaterial.AddQuick(Name, ETABS2013.eMatType.Rebar, , , , , ETABS2013.eMatTypeRebar.ASTM_A615Gr60)
MyNumberLayers = 5
ReDim MyLayerName(MyNumberLayers - 1)
ReDim MyDist(MyNumberLayers - 1)
ReDim MyThickness(MyNumberLayers - 1)
ReDim MyNumIntegrationPts(MyNumberLayers - 1)
ReDim MyMatProp(MyNumberLayers - 1)
ReDim MyMatAng(MyNumberLayers - 1)
MyLayerName(0) = "Concrete"
MyDist(0) = 0
MyThickness(0) = 16
MyNumIntegrationPts(0) = 2
MyMatProp(0) = "4000Psi"
MyMatAng(0) = 0
MyLayerName(1) = "Top Bar 1"
MyDist(1) = 6
MyThickness(1) = 0.03
MyNumIntegrationPts(1) = 1
MyMatProp(1) = Name
MyMatAng(1) = 0
MyLayerName(2) = "Top Bar 2"
MyDist(2) = 6
MyThickness(2) = 0.03
MyNumIntegrationPts(2) = 1
MyMatProp(2) = Name
MyMatAng(2) = 90
MyLayerName(3) = "Bot Bar 1"
MyDist(3) = -6
MyThickness(3) = 0.03
MyNumIntegrationPts(3) = 1
MyMatProp(3) = Name
MyMatAng(3) = 0
MyLayerName(4) = "Bot Bar 2"
MyDist(4) = -6
MyThickness(4) = 0.03
MyNumIntegrationPts(4) = 1
MyMatProp(4) = Name
MyMatAng(4) = 90
ret = SapModel.PropArea.SetShellLayer("A1", MyNumberLayers, MyLayerName, MyDist, MyThickness, MyNumIntegrationPts, MyMatProp, MyMatAng)
EtabsObject.ApplicationExit(False)
SapModel = Nothing
EtabsObject = Nothing
End Sub
Public Sub Example()
Dim SapModel As cSapModel
Dim EtabsObject As cOAPI
Dim ret As Integer = -1
Dim Name As String
Dim MyNumberLayers As Integer
Dim MyLayerName() As String
Dim MyDist() As Double
Dim MyThickness() As Double
Dim MyNumIntegrationPts() As Integer
Dim MyMatProp() As String
Dim MyMatAng() 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)
'set new area property
ret = SapModel.PropArea.SetShell_1("A1", 6, True, "", 0, 0, 0)
'add A615Gr60 rebar material
ret = SapModel.PropMaterial.AddQuick(Name, ETABS2013.eMatType.Rebar, , , , , ETABS2013.eMatTypeRebar.ASTM_A615Gr60)
'set area property layer parameters
MyNumberLayers = 5
ReDim MyLayerName(MyNumberLayers - 1)
ReDim MyDist(MyNumberLayers - 1)
ReDim MyThickness(MyNumberLayers - 1)
ReDim MyNumIntegrationPts(MyNumberLayers - 1)
ReDim MyMatProp(MyNumberLayers - 1)
ReDim MyMatAng(MyNumberLayers - 1)
MyLayerName(0) = "Concrete"
MyDist(0) = 0
MyThickness(0) = 16
MyNumIntegrationPts(0) = 2
MyMatProp(0) = "4000Psi"
MyMatAng(0) = 0
MyLayerName(1) = "Top Bar 1"
MyDist(1) = 6
MyThickness(1) = 0.03
MyNumIntegrationPts(1) = 1
MyMatProp(1) = Name
MyMatAng(1) = 0
MyLayerName(2) = "Top Bar 2"
MyDist(2) = 6
MyThickness(2) = 0.03
MyNumIntegrationPts(2) = 1
MyMatProp(2) = Name
MyMatAng(2) = 90
MyLayerName(3) = "Bot Bar 1"
MyDist(3) = -6
MyThickness(3) = 0.03
MyNumIntegrationPts(3) = 1
MyMatProp(3) = Name
MyMatAng(3) = 0
MyLayerName(4) = "Bot Bar 2"
MyDist(4) = -6
MyThickness(4) = 0.03
MyNumIntegrationPts(4) = 1
MyMatProp(4) = Name
MyMatAng(4) = 90
ret = SapModel.PropArea.SetShellLayer("A1", MyNumberLayers, MyLayerName, MyDist, MyThickness, MyNumIntegrationPts, MyMatProp, MyMatAng)
'close ETABS
EtabsObject.ApplicationExit(False)
'clean up variables
SapModel = Nothing
EtabsObject = Nothing
End Sub