Quantcast
Channel: RAM | STAAD | ADINA Wiki
Viewing all articles
Browse latest Browse all 8748

OpenSTAAD [FAQ]

$
0
0
Current Revision posted to Structural Analysis and Design - Wiki by Sye on 3/13/2015 10:07:35 PM

  
 Applies To 
  
 Product(s):STAAD.Pro
 Version(s):All
 Environment: N/A
 Area: OpenSTAAD
 Subarea: N/A
 Original Author:Bentley Technical Support Group
  

Notice: This content is currently under editorial review. There may be serveral out-dated items currently posted here. Please be patient as this page is made current.

OpenSTAAD Macro for calculating K factors

Issue #: SP-6637     Date Posted: 11/21/2003

Description: I am using the Staad Pro 2003 build 1003 program on a computer running Windows XP. I am trying to calculate the effective length factors for steel design. Within the help menu, I printed out the instructions to use the VBA macro. I made it through the beginning steps and located the macro, but when I got to the screen titled "Calculate K Factors" as shown on page 2, figure 36 of the help menu, and clicked the Load Selected Members it kept giving me an error, saying "Internal Appication Error". I tried several times, reselecting the members and all, and still got the same error message. Any advice?

Solution: This problem may arise if you have not purchased the OpenSTAAD Professional version for STAAD.Pro 2003. The professional version of OpenSTAAD allows you to run VBA macros within STAAD itself. The normal version of OpenSTAAD (which is free) simply allows you to run VBA scripts data mining STAAD's results database or controlling its GUI from outside STAAD (like in Excel, Word, etc.). In the Release Report for STAAD.Pro 2003 2nd Edition, it says:

AD.2003.28.13 Calculation of Effective Length Factors (K Factors) for Steel Design Purpose

This feature is only available for users who have purchased the OpenSTAAD Professional Edition which enables users to run VBA macros within STAAD.Pro using the new embedded STAAD VBA Editor. The automatic calculation of the K factor in steel design has been added based on the nomograph method presented in the AISC ASD manual in Chapter 5 Section C-C2.2.

If you want to purchase this, you can contact our sales department at 1-800-FOR-RESE. This will allow you to have access to other VBA macros REI writes in the future as well as VBA macros other people write and post on the REIWORLD site.

Using OpenSTAAD to create a model outside STAAD

Issue #: SP-5593     Date Posted: 6/20/2003

Description: How do I use OpenSTAAD to create a model outside STAAD (like in Excel), run the file and then extract the results back in Excel?

Solution: It is possible to create a STAAD file outside of the STAAD modeling environment without having to write macros that simply regurgitate STAAD syntax commands like JOINT COORDINATES or MEMBER INCIDENCES. OpenSTAAD 2.0 and higher allows you to control the STAAD processor indirectly through commands like AddNode, AddBeam, AssignBeamProperty, etc. What you need to do, however, is have STAAD.Pro open (running in the background) and a new file open. With Excel (or any VBA-enabled application), create a macro like this: Sub Examp1()

Set objOpenSTAAD1 = GetObject(, "StaadPro.OpenSTAAD") objOpenSTAAD1.Geometry.AddNode 10, 20, 10
objOpenSTAAD1.Geometry.AddNode 30, 50, 20
objOpenSTAAD1.Geometry.AddBeam 1, 2

Set objOpenSTAAD1 = Nothing

End Sub

After creating the macro, you can either run it inside Excel or within the new embedded STAAD.Pro VBA editor. Either way, you will see the model being created in STAAD.Pro. To run the analysis on the model, simply save the model and run it inside STAAD.Pro. There is currently no exposed function to run the STAAD engine separately. You can then use the other OpenSTAAD library (Results Object) to extract all the data into Excel. For the latter, you do not need to have STAAD open.

Using OpenSTAAD to extract moving load data

Issue #: SP-5535     Date Posted: 6/6/2003

Description: I am trying to extract results using OpenSTAAD with a file that has a moving load in it. Will it work?

Solution: As of STAAD.Pro 2003 Build 1003, the answer is no. OpenSTAAD cannot fetch results of input files containing wind loads, UBC/IBC loads, or moving loads.

Support of VBA Functions in OpenSTAAD

Issue #: SP-5361     Date Posted: 4/29/2003

Description: In the new OpenSTAAD 2.0 in STAAD.Pro 2003, does the embedded VBA editor support all of the VBA functions in the typical Microsoft Visual Basic?

Solution: OpenSTAAD 2.0 supports about 95% of all Microsoft VBA functions, not pure Visual Basic. VBA is a macro language and can be used in programs like Excel, AutoCAD and Microstation. There are a few functions in VBA that STAAD does not support. These have not been documented because of the newer version of VBA expected to come out this summer with Microsoft's .NET. OpenSTAAD 2.0 allows the users to control the STAAD.Pro environment inside or outside of STAAD using VBA macros.

OpenSTAAD Beta Releases

Issue #: SP-3738     Date Posted: 9/10/2002

Description: I was visiting your website and noticed the OpenSTAAD macros to link STAAD results with applications like Excel and AutoCAD. I also noticed OpenSTAAD 2.0 which is newer than release 1.2 currently being distributed with STAAD.Pro 2002 Build 1004. What is this new version and how do I get it? I saw that you could manipulate the STAAD ennvironment which I thought was pretty useful.

Solution: OpenSTAAD 2.0 is in beta stage. In order to use it, you must join the OpenSTAAD Beta Team whcih is a group of engineers around the world that have a Beta version of STAAD.Pro 2003. OpenSTAAD 2.0 only works with this version. The 2.0 version allows you to customize STAAD.Pro to do whatever engineering calculation you want (i.e. drift control, design of HSS sections, shear plate connections, etc.) inside the STAAD.Pro environment. If there is a code that STAAD does not suppport, you can add it in yourself using OpenSTAAD 2.0. For more information on joining the free OpenSTAAD Beta Team, please email openstaad@reiusa.com.

OpenSTAAD Database Compatability

Issue #: SP-3699     Date Posted: 9/6/2002

Description: I have STAAD.Pro 2001 Build 1004 and noticed the OpenSTAAD feature on your website (for free!!!). I downloaded and followed the instructions, but it did not seem to work. It kept saying "Results are older than previous. Do you wish to delete?" What is the solution?

Solution: OpenSTAAD Ver 1.1 and higher only works with STAAD.Pro 2001 Build 1006 or higher. The reason is that the database format from this version on has changed. OpenSTAAD was written to work with only the new database as support for both would be difficult to maintain. You can either get a hold of the 1006 patch from our website at http://www.reiworld.com/Search.asp?id=SP-2254 or upgrade to 2002.

Force and Moment Envelopes in OpenSTAAD

Issue #: SP-2462     Date Posted: 5/31/2002

Description: I am trying to use OpenSTAAD to link the member end forces from my STAAD run to an Excel sheet so that I can do a moment connection design other than the one offered through STAAD.etc. How do I get the force/moment envelopes (maximum forces/moments amongst all the load cases) with OpenSTAAD?

Solution: As of OpenSTAAD 1.2, there is no exposed function which allows you to directly extract the force or moment envelopes. There are functions to determine the maxium shear force or moment on a member for a particular load case (GetMaxBendingMoment and GetMaxShearForce) and functions to retrieve all 6 forces at the end of a member (GetMemberEndForces). You can use the latter, however, to iterate through all the load cases (primary and combinations) and determine the maximum force or moment by simply comparing values. The following code (written in VBA) determines the maximum FY amongst all load cases for a particular member (MemberNo) [Please note that some variables have not been initialized]: Dim objOpenSTAAD
Dim EndForces(6) As Double
Dim PrimaryLCs As Integer
Dim LoadCombs As Integer
Dim MemberNo As Integer
Dim MaxSaggingMoment As Double
Dim MaxFY As Double

Set objOpenSTAAD = CreateObject("OpenSTAAD.Output.1")

objOpenSTAAD.GetPrimaryLoadCaseCount PrimaryLCs
objOpenSTAAD.GetLoadCombinationCaseCount LoadCombs

TotalLoads = PrimaryLCs + LoadCombs

'Iterate through your load sets to find the results for each load case
MaxFY = -1.e10
For i = 1 To TotalLoads
objOpenSTAAD.GetMemberEndForces MemberNo, 0, i, EndForces(0)
If (EndForces(1) > MaxFY) Then
MaxFY = EndForces(1)
End If
Next

 

See Also

Product TechNotes and FAQs

Structural Product TechNotes And FAQs

External Links

Bentley Technical Support KnowledgeBase

Bentley LEARN Server

Comments or Corrections?

Bentley's Technical Support Group requests that you please confine any comments you have on this Wiki entry to this "Comments or Corrections?" section. THANK YOU!

 

Tags: SELECTservices, FAQ, OpenSTAAD, STAADPro, STAAD

Viewing all articles
Browse latest Browse all 8748

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>