OpenSTAAD Help File - Help!

In the latest version of STAAD.Pro ( the OpenSTAAD help screen has this little gem on the first page.

"In an effort to provide you with the best application support in the industry, OpenSTAAD documentation is provided electronically in the form of HTML help files. This important decision was made to provide a method of quickly updating users with the latest program additions or modifications. Since this information is provided electronically, users can simply download the latest help files from our web site, without the delay to update and reprint hard copy documentation."

Huh? What? Where do we download these help files? And what does it being in HTML have to do with anything? And while I'm at it, the old help file gave you a nice little overview of OpenSTAAD. It explained things like instantiation. Now you get two short paragraphs giving you a very brief overview of OpenSTAAD and then it blast off into the function reference manual. How is this "the best application support in the industry"?

And it looks like all the arguments in the functions are typed as VARIANT FAR. Come on, most of us are not computer science majors. Without the example code you provide how are we supposed to know the data types when we are using those functions in Basic?

And last but certainly least (valuable that is). Try copying and pasting a code snippet out of the help. It paste everything on one line! I just submitted a service request on this one. I don't know maybe it has something to do with Windows 10. I've had nothing but problems since I've switched but dang, what a PITA!

  • Hi Tank,

    That quoted paragraph is badly out-of-date and does not reflect how Bentley currently delivers the help file. I'll see that it is updated and correctly reflects how to access the help. There is no download as we currently deliver the full set of STAAD.Pro and OpenSTAAD documentation installed with the product on your machine.

    You can access the overview of OpenSTAAD fundamentals by selecting STAAD.Pro help contents (in the product, backstage > Help > Contents) or by visiting: There are some more detailed explanations and examples there.

    As for the copy/paste issue you're having with the sample codes, I'm not able to reproduce that with any of the code examples. Can you provide a specific page or sample where you've observed this so I can try to reproduce that as well?


    Jason Coleman, PE

    Bentley Systems
    Senior Manager Technical Content

  • Just adding some more information on Jason's comments, we had initially planned to make the list of functions for OpenSTAAD an online service to allow the development team make the documentation of functions and provision of sample snippets more frequent. However, this changeover did not occur and the documentation had been modified in preparation of the change and should have been changed back. 
    With regard to the copy/paste issue, I understand how you might be getting this effect of single line data when posting in an editor such as notepad or even one of the STAAD Editors such as the Macro Editor.  However, if you paste the data in Word with the default option of 'Keep Source Formatting' or 'Merge Formatting', then each line of the snippet is added on a new line. The 'Text Only' option however, will also paste all the code on a single line. I agree we need to ensure that the data is formatted on the clipboard ready to paste into any editor with carriage return/ line feed characters on the end of each line.

  • Jason,

    Yes, I see where the better overview of OpenSTAAD is under Contents>OpenSTAAD. Not real intuitive to hit "Contents" for this when a button labeled "OpenSTAAD Help" is right below it.

    I'm assuming you don't need me to provide and example of the copy/paste problem since Carlos has acknowledged the problem and given a work-around for it.

    Lastly, you or Carlos didn't respond to my question about data types. It seems that all the functions and arguments are typed as VARIANT in the documentation. Here's and example:

    VARIANT OSOutputUI::GetStaticCheckResult ( const VARIANT FAR & varLC,

                                                                                          VARIANT FAR & varForces,

                                                                                          VARIANT FAR & varReactions


    But here is how you have to declare the arguments for this to work:

    Dim RetVal As Variant
    Dim Lcase As Long
    Dim sForces(0 To 5) As Double
    Dim sReactions(0 To 5) As Double

    RetVal = objOpenSTAAD.Output.GetStaticCheckResult(Lcase, sForces, sReactions)

    So, yeah, the return value is a variant but not the arguments. Just for fun I tried declaring them as variants and also dimensioning them but not giving them a type. Neither way worked. So why aren't the correct argument types given in the help file?


  • So no one at Bentley knows why the argument types are shown as VARIANT FAR? I'm old enough to remember segmented memory and FAR calls to different segments of memory but I can't figure out what this is supposed to be. Somebody had to write this. Are they around to ask?

  • Hi Tank,

    The developers are discussing this matter and we will be posting the solution soon.