Robot Structural Analysis Forum
Welcome to Autodesk’s Robot Structural Analysis Forums. Share your knowledge, ask questions, and explore popular Robot Structural Analysis topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

API Modal Analysis - Eigenvectors and Modal Masses

9 REPLIES 9
SOLVED
Reply
Message 1 of 10
GGB.BHB
825 Views, 9 Replies

API Modal Analysis - Eigenvectors and Modal Masses

Hi

 

I am currently writing some c# code to extract modal anlysis data based on this post

https://forums.autodesk.com/t5/robot-structural-analysis/api-modal-analysis-results/m-p/5699437/high...

 

I have two questions

a. Is it possible to extract the normalised eigenvectors rather than unnormalised eigenvectors?

b. Has the API been written yet to extract the modal masses which correpond to the eigenvectors?  Previous posts suggested that this was in the pipeline.

 

Many thanks

9 REPLIES 9
Message 2 of 10
Rafal.Gaweda
in reply to: GGB.BHB


b. Has the API been written yet to extract the modal masses which correpond to the eigenvectors?  Previous posts suggested that this was in the pipeline.

 

Dim MS As RobotMassSumServer
Set MS = RobApp.Project.Structure.Results.Advanced.MassSum

 



Rafal Gaweda
Message 3 of 10
Rafal.Gaweda
in reply to: GGB.BHB


a. Is it possible to extract the normalised eigenvectors rather than unnormalised eigenvectors?

 

Not implemented in API

So either dump adjusted table or get results as they are and normalize them by yourself

 



Rafal Gaweda
Message 4 of 10
GGB.BHB
in reply to: Rafal.Gaweda

Thanks Rafal

 

I still think I'm missing the section of code that gets the value of the specific part of the mass sum which represents the modal mass.

e.g. in the following bit of code RDD (of type RobotDisplacementData) is used to extract the values of the eigenvectors.  Is there a similar type to extract the various masses?

 

Many thanks

 

 

 

Dim RDD As RobotDisplacementData
Dim Nodes  As RobotNodeServer
Dim RES As RobotEigenvectorsServer
Dim REV As RobotEigenvaluesServer


Set Nodes = RobApp.Project.Structure.Nodes
Set RES = RobApp.Project.Structure.Results.Advanced.Eigenvec​tors
Set REV = RobApp.Project.Structure.Results.Advanced.Eigenval​ues

Modalcase = 3
NModes = RobApp.Project.Structure.Cases.Get(Modalcase).Mode​sCount
row = 1

For I = 1 To Nodes.GetAll.Count

    NodeNumber = Nodes.GetAll.Get(I).Number

    For Modenum = 1 To NModes
   
        Set RDD = RES.Value(NodeNumber, Modalcase, Modenum)
        Cells(row, 1) = Str(NodeNumber) + " / " + Str(Modalcase) + " / " + Str(Modenum)
        Cells(row, 2) = REV.Value(Modalcase, Modenum).Frequence
        Cells(row, 3) = RDD.UX
        Cells(row, 4) = RDD.UY
        Cells(row, 5) = RDD.UZ
        row = row + 1
    Next Modenum
   
Next I

Message 5 of 10
Rafal.Gaweda
in reply to: GGB.BHB

Example code:

 

[A9].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Current(13, 9).UX ' cur mass ux
[B9].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Current(13, 9).UY  ' cur mass uy
[A10].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Current(13, 10).UX ' cur mass ux
[B10].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Current(13, 10).UY ' cur mass uy

[D9].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Total(13, 3).UX
[E9].Value = RobApp.Project.Structure.Results.Advanced.MassSum.Total(13, 3).UY

[D10].Value = RobApp.Project.Structure.Results.Advanced.MassSum.PartCoeff(13, 10).UX
[E10].Value = RobApp.Project.Structure.Results.Advanced.MassSum.PartCoeff(13, 10).UY


Rafal Gaweda
Message 6 of 10
GGB.BHB
in reply to: Rafal.Gaweda

Thanks Rafal,
The masses I was actually after were the Modal Masses mX, mY and mZ.  Is there a call for them or can they be calculated some other way?

Message 7 of 10
Rafal.Gaweda
in reply to: GGB.BHB

Dim RS As RobotResultServer
Set RS = RobApp.Project.Structure.Results

Dim ModalCase As RobotSimpleCase
ModalCaseNumber = 71

RS.Any.LoadCase = ModalCaseNumber

Set ModalCase = RobApp.Project.Structure.Cases.Get(ModalCaseNumber)

For I = 1 To ModalCase.ModesCount
    RS.Any.Mode = I
    RS.Any.ResultId = 1767
    Cells(I, 1) = RS.Any.ResultValue
    RS.Any.ResultId = 1768
    Cells(I, 2) = RS.Any.ResultValue
    RS.Any.ResultId = 1769
    Cells(I, 3) = RS.Any.ResultValue
Next I


Rafal Gaweda
Message 8 of 10
GGB.BHB
in reply to: Rafal.Gaweda

Brilliant, fantastic!

All up and running,

Many thanks

Message 9 of 10
WALIDGIO
in reply to: GGB.BHB

is this code can run for the ROBOT 2025 version ?

Message 10 of 10

yes.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report