最近在做关于matlab调用SAP2000方面内容,结构时程分析后广义位移不知道怎么用matlab调出来,希望前辈们能够指导一下。
代码如下:
%%%%%%%%第一步:启动SAP2000
%% clean-up the workspace & command window
clear;
clc;
%% create Sap2000 object
SapObject = actxserver('sap2000v15.SapObject');
%% start Sap2000 application
SapObject.ApplicationStart;
%%%%%%%%第二步:打开文件
SapModel = SapObject.SapModel;
ret = SapModel.InitializeNewModel;
FileName = 'D:\API\try.sdb';
ret = SapModel.File.OpenFile(FileName);
%%%%%%%%第三步:分析
ret = SapModel.Analyze.RunAnalysis();
%%%%%%%%第五步:提取数据(广义位移)
%%方法1
NumberResults = 3526;
GD = 'GDISP11';
LoadCase = 'ACASE1';
StepType = 'Time';
StepNum = [0:0.02:70.52];
DType = 'translation';
Value = zeros(1,3526,'double');
ret = SapModel.Results.GeneralizedDispl(’’,NumberResults,GD,LoadCase,StepType,StepNum,DType,Value)
%%方法1
NumberResults = 0;
GD1_name=cellstr(' ');
LoadCase=cellstr(' ');
StepType=cellstr(' ');
GD=cellstr(' ');
StepNum=zeros(1,1,'double');
DType=cellstr(' ');
Value=zeros(1,1,'double');
% 读取广义位移数据
[ret,NumberResults, GD, LoadCase, StepType, StepNum, DType, Value]...
= SapModel.Results.GeneralizedDispl(' ',NumberResults, GD, LoadCase, StepType, StepNum, DType, Value);
![matlab调用SAP2000广义位移求助! API]()
提取结果显示.PNG |