Cancel
Showing results for 
Search instead for 
Did you mean: 

Using the GetTitleList API with output objects

Valued Contributor
Valued Contributor

Hello,

 

I guess this question is more likely to be answered by Femap developers ...

 

I noticed yesterday that the API GetTitleList (and of course GetTitleIDList) does not seem to work with the output objects when the results are attached and not loaded in the database (but it works ok with the outputset object). If the results are imported in the database, then I get this API to work without problem.

 

Is this something you're aware of ? Is this a limitation due to the attached results or is it something you can correct ?

 

Thanks !

 

 

Spoiler
Sub Main
    Dim App As femap.model
    Set App = feFemap()

    Dim out As OutputSet
    Set out=App.feOutputSet
    Dim outvec As Output
    Set outvec=App.feOutput

    Dim osCount As Long
    Dim osListID As Variant
    Dim osListTitle As Variant

    out.GetTitleList(0, 0, osCount, osListID, osListTitle)

    Dim ovCount As Long
    Dim ovListID As Variant
    Dim ovListTitle As Variant
    outvec.setID=1
    outvec.GetTitleList(0, 0, ovCount, ovListID, ovListTitle)

    
End Sub
4 REPLIES

Re: Using the GetTitleList API with output objects

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

Yes there is bug in the GetTitleList() method when using it to retrieve vector titles from attached result sets. It will work fine for imported output sets but any vectors from attached files will fail.

 

This will be fixed in the next release of Femap 11.2.  For now the workaround is to use the API ResultsBrowsing object to retrieve the vector titles.

See attached api.

Re: Using the GetTitleList API with output objects

Valued Contributor
Valued Contributor

Hi,

 

Thanks for your workaround which is much faster than the solution I've used to get around the problem ...

 

Re: Using the GetTitleList API with output objects

Siemens Valued Contributor Siemens Valued Contributor
Siemens Valued Contributor

If you are simply accessing output data from Femap the Result Browsing object is the preferred method. This object allows the user to load all the vectors needed using ( AddColumn() ) as well as the specific node/element ids ( DataNeeded() ).  When you call populate Femap will retrieve that output data in the most efficient manner whether results are stored internally or attached in op2,xdb,fno or csv files.

 

The “old” femap.Output or femap.OutputSet objects were recoded to internally use the same method as Result Browsing so if you were to use InitVectorAtNode() to retrieve Total Translations and x,y,z for imported output then performance should be about the same.

 

If however the output was attached and you needed to retrieve the full stress tensor at the centroid plus all corners then the femap.Output object would have to read the entire stress table each time a stress component was retrieved.

Using the Results Browsing object you add all the needed vectors to the table including transformed or averaged columns. Femap automatically detects and adds any additional columns needed calculate and fill your columns. When Populate is called, Femap can read the stress table once minimizing disk access and overhead from the multiple femap.Output object calls.

 

Note: The Results Browsing Object does not yet have the ability to store output data so you would still need to use femap.Output in those cases.

 

Regards,

Dan

Re: Using the GetTitleList API with output objects

Valued Contributor
Valued Contributor
Thanks for the explanation Dan ! Will have a look to this Result Browsing object more in details.