How to save view using OpenSTAAD functions (VBA)


 

 

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

 

 

 

 

 

 

 

 

Problem Description:

How to save view using OpenSTAAD functions (VBA)

Solution:

SaveView function can be used to save any view. This function is available from STAAD.Pro Advanced 2024 - Version 24.00.00.577

Parameter:

0/FALSE = Do not overwrite.
1/TRUE = Overwrite viewName if it exists.

 

Sample VBA Syntax:

Sub Create_View()

 

        Dim varReturnVal As Long

        Dim nName As String

        Dim overWrite As Boolean

        Dim varMembers() As Long

        Dim count As Long

        Set objOpenStaad = GetObject(, "StaadPro.OpenSTAAD")

       

        ''To create view1

        count = 4

        ReDim varMembers(count)

        For i = 0 To count - 1

            varMembers(i) = i + 1

        Next i

        objOpenStaad.Geometry.SelectMultipleBeams (varMembers)

        objOpenStaad.View.CreateNewViewForSelections

        nName = "view1"

        overWrite = True

        varReturnVal = objOpenStaad.View.SaveView(nName, overWrite)

        objOpenStaad.View.CloseActiveWindow

        objOpenStaad.Geometry.ClearMemberSelection

       

        ''To create view2

        count = 16

        ReDim varMembers(count)

        For i = 0 To count - 1

            varMembers(i) = i + 8

        Next i

        objOpenStaad.Geometry.SelectMultipleBeams (varMembers)

        objOpenStaad.View.CreateNewViewForSelections

        nName = "view2"

        overWrite = True

        varReturnVal = objOpenStaad.View.SaveView(nName, overWrite)

        objOpenStaad.View.CloseActiveWindow

        objOpenStaad.Geometry.ClearMemberSelection

       

        ''To create view3

        count = 7

        ReDim varMembers(count)

        For i = 0 To count - 1

            varMembers(i) = i + 1

        Next i

        objOpenStaad.Geometry.SelectMultipleBeams (varMembers)

        objOpenStaad.View.CreateNewViewForSelections

        nName = "view3"

        overWrite = True

        varReturnVal = objOpenStaad.View.SaveView(nName, overWrite)

        objOpenStaad.View.CloseActiveWindow

        objOpenStaad.Geometry.ClearMemberSelection

 

    End Sub

Output:

View1:

View2:

View3: