How can I export results summary worksheet in Mechanical?

Member, Employee Posts: 6
First Anniversary Ansys Employee First Comment Solution Developer Community of Practice Member
✭✭✭
edited December 2023 in Structures

How can I export the result summary worksheet to a text file through python ACT?

Tagged:

Answers

  • Member, Moderator, Employee Posts: 873
    100 Answers 500 Comments 250 Likes Second Anniversary
    ✭✭✭✭
    edited December 2023 Answer ✓

    To my knowledge, access to worksheet is not yet exposed in ACT scripting. A possible workaround is to use jscript. The below code uses unsupported and undocumented commands, use at your own risk:

    1. analysis = ExtAPI.DataModel.Project.Model.Analyses[0] # First analysis
    2. analysis.Solution.Activate() #Activating solution
    3. ExtAPI.Application.ScriptByName("jscript").ExecuteCommand('WB.PreferenceMgr.Preference("PID_Open_Excel") = 0;') # Blocking Excel from opening after export​
    4. ExtAPI.Application.ScriptByName("jscript").ExecuteCommand('DS.Script.toggleWorksheetVisibilityInContexMenu();')​ # Turn on worksheet mode with "Result Summary" section selected
    5. ExtAPI.Application.ScriptByName("jscript").ExecuteCommand('DS.Script.doExportWorksheetToTextFile("D:/WorsheetResult.txt");') # Exporting result, replace path in this line
  • Member, Employee Posts: 90
    Second Anniversary 5 Answers 25 Likes 10 Comments
    ✭✭✭✭
    Answer ✓

    If you want to execute this functionality from WB-project page, the way would be the following:

    1. my_system=GetSystem(Name="SYS")
    2. my_model = my_system.GetContainer(ComponentName="Model")
    3.  
    4. my_model.Edit(Hidden=True)
    5.  
    6. cmd="""analysis = ExtAPI.DataModel.Project.Model.Analyses[0]
    7. analysis.Solution.Activate()"""
    8. my_model.SendCommand(Language="Python",Command=cmd)
    9.  
    10. cmd2="""DS = WB.AppletList.Applet("DSApplet").App;
    11. WB.PreferenceMgr.Preference("PID_Open_Excel") = 0;
    12. DS.Script.toggleWorksheetVisibilityInContexMenu();"""
    13. my_model.SendCommand(Language="Javascript", Command=cmd2)
    14.  
    15. cmd3="""DS = WB.AppletList.Applet("DSApplet").App;
    16. var MyWait = DS.Script.AnsObjectFactory.CreateDispatchObject("WBControls.WBTestHelper.211");
    17. MyWait.Wait(2000);
    18. DS.Script.doExportWorksheetToTextFile("D:////WorsheetResult.txt");"""
    19. my_model.SendCommand(Language="Javascript", Command=cmd3)
    20.  
    21.  
    22. my_model.Exit()

Welcome!

It looks like you're new here. Sign in or register to get started.