how to get joint displacement as step-by-step in sap2000 by using SM toolbox

21 views (last 30 days)
I run sap2000 model using pushover analysis so I want to get displacement as step-by-step displacement what i got only as envelopes not step-by-step.
so I need code for SM toolbox to be used to get step-by-step displacement.
  1 Comment
William Rose
William Rose on 18 Dec 2024 at 18:22
I recommend you post your request on the dicussion board for SAP + Matlab Toolbox, here, or at SM Toolbox Instructions in the File Exchange. Maybe you will get a response from the author or from others who uses that toolbox.

Sign in to comment.

Answers (1)

UDAYA PEDDIRAJU
UDAYA PEDDIRAJU on 27 Dec 2024 at 6:46
Hi Ali,
To obtain step-by-step joint displacements in SAP2000 using the SM Toolbox, you can use the following MATLAB code snippet. I assume you have already set up your SAP2000 model and performed the pushover analysis.
SapObject = actxserver('SAP2000.SapObject');
% Start Sap2000 application
SapObject.ApplicationStart;
Sap = SapObject.SapModel;
Sap.File.OpenFile([FilePath,'.sdb']); % Open your model
Sap.Analyze.RunAnalysis();
% Get the number of steps in the pushover analysis
numSteps = Sap.Results.NumberOfSteps;
% Initialize arrays to store displacements
jointDisplacements = zeros(numSteps, 1);
% Loop through each step to get joint displacements
for step = 1:numSteps
% Get joint displacement for a specific joint (e.g., joint 1)
[displacement, ~] = Sap.Results.JointDispl('Joint1', step);
jointDisplacements(step) = displacement;
end
% close Sap2000
SapObject.ApplicationExit(false());
SapModel = 0;
SapObject = 0;
This should give you a workaround otherwise you can reach out to https://web.wiki.csiamerica.com/wiki/spaces/kb/overview?homepageId=1998862.

Community Treasure Hunt

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

Start Hunting!