【需求说明】
如何在OpenSTAAD中使用VBA创建三角形/四边形板?
【函数及参数】
可以使用AddPlate或CreatePlate函数。
AddPlate用来在当前模型中添加一个具有指定现有节点的板,并自动返回分配的板编号ID。
参数:
AddPlate()
nNodeA: 板连接的端节点(节点A)的编号ID。nNodeB: 板连接的端节点(节点B)的编号ID。nNodeC: 板连接的端节点(节点C)的编号ID。nNodeD:(可选)板连接的端节点(节点D)的编号ID。要添加三角形板,此参数的值将为0。[返回值] node: 分配给新创建板的板编号ID。
CreatePlate用来在当前模型中创建一个具有指定现有节点和指定板编号的板。
参数:
CreatePlate()
nPlateNo: 板编号ID。nNodeA: 板连接的端节点(节点A)的编号ID。nNodeB: 板连接的端节点(节点B)的编号ID。nNodeC: 板连接的端节点(节点C)的编号ID。nNodeD:(可选)板连接的端节点(节点D)的编号ID。要创建三角形板,此参数的值将为0。【应用举例】(VBA语法)
创建三角形板:
Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")
Dim nNodeA(1) As Long
Dim nNodeB(1) As Long
Dim nNodeC(1) As Long
Dim nNodeD(1) As Long
Dim plate(1) As Long
nNodeA(0) = 1
nNodeB(0) = 2
nNodeC(0) = 3
nNodeD(0) = 0
nNodeA(1) = 2
nNodeB(1) = 5
nNodeC(1) = 6
nNodeD(1) = 0
For i = 0 To 1
plate(i) = objOpenSTAAD.Geometry.AddPlate(nNodeA(i), nNodeB(i), nNodeC(i), nNodeD(i))
Next i
输出结果:
创建四边形板:
Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")
Dim nNodeA(1) As Long
Dim nNodeB(1) As Long
Dim nNodeC(1) As Long
Dim nNodeD(1) As Long
Dim nPlateNo(1) As Long
nNodeA(0) = 1
nNodeB(0) = 2
nNodeC(0) = 3
nNodeD(0) = 4
nPlateNo(0) = 1
nNodeA(1) = 2
nNodeB(1) = 5
nNodeC(1) = 6
nNodeD(1) = 3
nPlateNo(1) = 2
For i = 0 To 1
objOpenSTAAD.Geometry.CreatePlate nPlateNo(i), nNodeA(i), nNodeB(i), nNodeC(i), nNodeD(i)
Next i
输出结果: