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