我目前正在研究一个需要在桥梁设计上运行算法的项目。因为桥接器的设计和分析与版本14之后的sap2000是分开的,所以我目前使用这个版本。
这是我的测试代码:
clear;
clc;
feature('COM_SafeArraySingleDim', 1);
feature('COM_PassSafeArrayByRef', 1);
SapObject = actxserver('Sap2000.SapObject');
SapObject.ApplicationStart;
SapModel = SapObject.SapModel;
SapModel.InitializeNewModel;
SapModel.File.OpenFile('C:\Users\Babak\Desktop\New folder (3)\Bridge1.sdb');
SapModel.SetModelIsLocked(0);
MaxDeckSegLength=zeros(1,1,'double');
MaxCapSegLength=zeros(1,1,'double');
MaxColSegLength=zeros(1,1,'double');
SubMeshSize=zeros(1,1,'double');
SapModel.BridgeObj.GetBridgeUpdateData('BOBJ1', true(), 3, MaxDeckSegLength, MaxCapSegLength, MaxColSegLength, SubMeshSize);
SapObject.ApplicationExit(false());这是VBA中此代码的示例:
Dim LinkedModelExists As Boolean
Dim ModelType As Long
Dim MaxDeckSegLength As Double
Dim MaxCapSegLength As Double
Dim MaxColSegLength As Double
Dim SubMeshSize As Double
SapModel.BridgeObj.GetBridgeUpdateData("BOBJ1", LinkedModelExists, ModelType, MaxDeckSegLength, MaxCapSegLength, MaxColSegLength, SubMeshSize)不管我做什么,我总是得到零。