How i get the details of result from sap2000 with matlab

7 ビュー (過去 30 日間)
Eray KALAYCI
Eray KALAYCI 2022 年 1 月 10 日
回答済み: Riya 2024 年 1 月 23 日
i wrote a Matlab code to access Sap2000 v22 trial version. this code can start the program and open a structure file and analyze it and then design the steel elements. Up to here all is good. In here start a problem for me. i try to get the detail of the result for example "ffa" values or "P" values. and i use this code for this problem;
...
NumberItems=0;
FrameName=cellstr(' ');
Value=cellstr(' ');
[~,~,~,TableS,NumberSItems,FrameNameS,ValueS] = SapModel.DesignSteel.GetDetailResultsValue( ...
"8", SAP2000v1.eItemType.Objects, 2, "DesignSect", NumberItems, FrameName(), Value());
I get this error;
" No appropriate method, property, or field 'GetDetailResultsValue' for class 'SAP2000v1.wDesignSteel'. "
and if i change the code like this;
NumberItems=0;
FrameName=cellstr(' ');
Value=cellstr(' ');
[~,~,~,TableS,NumberSItems,FrameNameS,ValueS] = DesignSteel.GetDetailResultsValue( ...
"8", SAP2000v1.eItemType.Objects, 2, "DesignSect", NumberItems, FrameName(), Value());
I get this error;
No method 'GetDetailResultsValue' with matching signature found for class 'SAP2000v1.cDesignSteel'.
What is my fault at this code? Thank You

回答 (1 件)

Riya
Riya 2024 年 1 月 23 日
Hello,
The errors you're encountering suggest that there is either a mistake in the method name or the way you are calling it. The error messages indicate that MATLAB cannot find a method called GetDetailResultsValue for the DesignSteel class in the SAP2000v1 API.
Here is a generic example of how you might correctly call a method from the SAP2000 API in MATLAB:
% Initialize the SAP2000 application
SapObject = actxserver('SAP2000v22.SapObject');
SapModel = SapObject.SapModel;
% Start SAP2000 application
ret = SapObject.ApplicationStart();
% Open an existing model
ret = SapModel.File.OpenFile('path\to\your\model.sdb');
% Run analysis
ret = SapModel.Analyze.RunAnalysis();
% Obtain results - this is where you need to adapt based on correct API usage
% For example, if GetDetailResultsValue is a correct method, ensure you have the right instance:
DesignSteelInstance = SapModel.DesignSteel; % Get the DesignSteel instance
% Now call the method on the instance with the correct parameters
[ret, TableS, NumberSItems, FrameNameS, ValueS] = DesignSteelInstance.GetDetailResultsValue(...);
Additionally, ensure that the COM object SAP2000v22.SapObject matches the version of SAP2000 you are using. If you're using a different version, you'll need to adjust the object name accordingly.
For more information you can refer the following documentation:

カテゴリ

Help Center および File ExchangeApp Building についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by