You are on page 1of 2

Archivo: Excel file to update linked bridge model -OAPI

Private Sub btnSetBridgeUpdateData_Click()

'dimension variables
Dim SapObject As Sap2000.SapObject
Dim SapModel As cSapModel
Dim ret As Long
Dim FileName As String

'create Sap2000 object


Set SapObject = New Sap2000.SapObject

'start Sap2000 application


SapObject.ApplicationStart

'create SapModel object


Set SapModel = SapObject.SapModel

'initialize model
ret = SapModel.InitializeNewModel

'open an existing file


FileName = Sheets("Dashboard").Range("ModelFile").Value
ret = SapModel.File.OpenFile(FileName)

BridgeObjectName = Sheets("Dashboard").Range("BridgeObjectName").Value
Action = Sheets("Dashboard").Range("Action").Value
ModelType = Sheets("Dashboard").Range("ModelType").Value
MaxDeckSegLength = Sheets("Dashboard").Range("MaxDeckSegLength").Value
MaxCapSegLength = Sheets("Dashboard").Range("MaxCapSegLength").Value
MaxColSegLength = Sheets("Dashboard").Range("MaxColSegLength").Value
SubMeshSize = Sheets("Dashboard").Range("SubMeshSize").Value

'update linked bridge model


ret = SapModel.BridgeObj.SetBridgeUpdateData(BridgeObjectName, Action,
ModelType, _
MaxDeckSegLength, MaxCapSegLength, MaxColSegLength, SubMeshSize)

Sheets("Dashboard").Range("return_set").Value = ret

'close Sap2000
SapObject.ApplicationExit False
Set SapModel = Nothing
Set SapObject = Nothing

End Sub

Private Sub btnGetBridgeUpdateData_Click()

'dimension variables
Dim SapObject As Sap2000.SapObject
Dim SapModel As cSapModel
Dim ret As Long
Dim FileName As String
Dim LinkedModelExists As Boolean
Dim ModelType As Long
Dim MaxDeckSegLength As Double
Dim MaxCapSegLength As Double
Dim MaxColSegLength As Double
Dim SubMeshSize As Double

'create Sap2000 object


Set SapObject = New Sap2000.SapObject

'start Sap2000 application


SapObject.ApplicationStart

'create SapModel object


Set SapModel = SapObject.SapModel

'initialize model
ret = SapModel.InitializeNewModel

'open an existing file


FileName = Sheets("Dashboard").Range("ModelFile").Value
ret = SapModel.File.OpenFile(FileName)

'get bridge update data


ret = SapModel.BridgeObj.GetBridgeUpdateData("BOBJ1", LinkedModelExists, _
ModelType, MaxDeckSegLength, MaxCapSegLength, MaxColSegLength,
SubMeshSize)

Sheets("Dashboard").Range("LinkedModelExists").Value = LinkedModelExists
Sheets("Dashboard").Range("ModelType").Value = ModelType
Sheets("Dashboard").Range("MaxDeckSegLength").Value = MaxDeckSegLength
Sheets("Dashboard").Range("MaxCapSegLength").Value = MaxCapSegLength
Sheets("Dashboard").Range("MaxColSegLength").Value = MaxColSegLength
Sheets("Dashboard").Range("SubMeshSize").Value = SubMeshSize

Sheets("Dashboard").Range("return_get").Value = ret

'close Sap2000
SapObject.ApplicationExit False
Set SapModel = Nothing
Set SapObject = Nothing

End Sub

You might also like