How to get Modal masses through API

How to get Modal masses through API

Anonymous
Not applicable
1,462 Views
10 Replies
Message 1 of 11

How to get Modal masses through API

Anonymous
Not applicable

Hi,

 

I am doing a macro to post-process modal analysis results in Excel using VBA, and I have trouble finding the modal masses mX, mY and mZ.

 

Through the path RobApp.Project.Structure.Results.Advanced.MassSum I can retrieve some other mass properties, but not the modal masses - which is what I need for calculating the stationary response of an analogous single-dof system.

I know it is possible to do a time history analysis to get the reponse, but redefinening the load time history to achieve resonance every time modifications to the model change the eigenfrequency is quite tidious - I would prefer to save the THA as a control of the stationary response in the final version of the model, after optimizing the model. After all the results are usually identical unless multiple modes are exited significantly by the same load.

 

Is it possible to retrieve the modal masses directly though the API some other way?

If not, is it possible to export the Mass Matrix along with the mode shape vector to calculate it outside Robot?

 

Best Regards,

 

Mikkel

0 Likes
Accepted solutions (2)
1,463 Views
10 Replies
Replies (10)
Message 2 of 11

Rafal.Gaweda
Autodesk Support
Autodesk Support

 

Is it possible to retrieve the modal masses directly though the API some other way?

 

Not implemented. I will put it on the wishlist.

 

If not, is it possible to export the Mass Matrix .

 

No

 

along with the mode shape vector to calculate it outside Robot?

 

Robapp.Project.Structure.Results.Advanced.Eigenvectors.Value 

 



Rafal Gaweda
0 Likes
Message 3 of 11

Anonymous
Not applicable

Thanks for the quick reply,

 

Sad that it is not an possible.

 

I assume that it is not possible to export load vectors either either? Would be practical for calculating the modal loads.

 

Best regards

 

Mikkel

0 Likes
Message 4 of 11

Rafal.Gaweda
Autodesk Support
Autodesk Support
Accepted solution

 

Sad that it is not an possible.

 

this way:

   Dim rt As RobotTable
    
    Set rt = RobApp.Project.ViewMngr.CreateTable(I_TT_DYNAMIC, I_TDT_DEFAULT)
    
     rt.AddColumn (1767)
    rt.AddColumn (1768)
    rt.AddColumn (1769)

     Path = "c:\modalres.csv"

rt.Printable.SaveToFile Path, I_OFF_TEXT

 

 

Then extract data from this text file.

Or basing on this macro :

http://forums.autodesk.com/t5/robot-structural-analysis/api-macro-for-dumping-all-opened-tables-in-r...

you can modify code to convert csv to ANSI and open it Excel in one run.



Rafal Gaweda
0 Likes
Message 5 of 11

Anonymous
Not applicable

Thank you,

 

I believe that should do the trick. I will just try to figure out how to make it close the extra table again, or I will have a lot of tables open 🙂

 

Any suggestions on how to get the load vector out?

I could off course copy the model, apply the displacements as as forced displacements, and get the reactions. But that seems like an exsessive workaround.

0 Likes
Message 6 of 11

Rafal.Gaweda
Autodesk Support
Autodesk Support

 how to make it close the extra table again,

 

http://forums.autodesk.com/t5/robot-structural-analysis/api-get-load-combination-properties/m-p/4600...

 

Any suggestions on how to get the load vector out?

 

Sorry I do not understand what is "load vector". Could you please explain?



Rafal Gaweda
0 Likes
Message 7 of 11

Anonymous
Not applicable

Thank you for the closing table command.

 

I am talking about the load vector f for specific load case, fulfilling

f = Ku

where K is the stiffness matrix and u the displacement vactor.

 

In calculating the staionary response I need the modal load.

For a dynamic mode with normalized eigenvactor v, the modal load corresponding to the static load for the loadcase of f is calculated as the scalar product of f and v.

0 Likes
Message 8 of 11

Rafal.Gaweda
Autodesk Support
Autodesk Support
Accepted solution

Here you are: columns of your interest 251, 252, 253

 

    Set rt = RobApp.Project.ViewMngr.CreateTable(I_TT_NODE_DISPLACEMENTS, I_TDT_DEFAULT)
 
    rt.AddColumn (251)
    rt.AddColumn (252)
    rt.AddColumn (253)

 



Rafal Gaweda
0 Likes
Message 9 of 11

Anonymous
Not applicable
Thank you very much Rafal,

I should be able to get my macro working with these table-exports.

Super.
Mikkel.
0 Likes
Message 10 of 11

Anonymous
Not applicable

Hi

 

@Rafal.Gaweda 
where can I find the columns numbers?

Currently I'm trying to get the 'Height' column in the 'Stories' table:

Dim RS As RobotTable
Set RS = RobApp.Project.ViewMngr.CreateTable(IRobotTableType.I_TT_STOREYS, I_TDT_DEFAULT)
RS.AddColumn (????)

RS.Printable.SaveToFile directory, I_OFF_TEXT
0 Likes
Message 11 of 11

Anonymous
Not applicable

Found it: 1809

 

Thank you

0 Likes