How to overwrite loads in OpenSTAAD

Dear friends,

How can I overwrite loads (or any other properties) using OpenSTAAD, every time I edit something and run my script new loads are added.

Thanks in advance.

  • in other words; how can I delete member properties or a primary load case? I can only see how to delete loadlist

  • loads and properties are duplicated when running the script multiple times. Could you try running this simple model multiple times to see what I mean?




    Sub GenerateModel()

    Dim cx(1) As Double
    Dim cy(1) As Double
    Dim cz(1) As Double
    Dim Node(1) As Integer
    Dim N1 As Integer
    Dim N2 As Integer


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

    Node(0) = suro.geometry.CreateNode(1, 0, 0, 0)
    Node(1) = suro.geometry.CreateNode(2, 5, 5, 0)


    N1 = 1
    N2 = 2

    Beam = suro.geometry.CreateBeam(1, N1, N2)

    ''''''''''''''''''''''''''''''''''''''''
    ' Add suppoty

    'Sub CreatePinnedSupport()
    Dim objOpenSTAAD As Object
    Dim SelNodesNo As Long
    Dim SelNodes() As Long
    Dim pinnedSupport As Long
    Dim assignSupport As Variant


    SelNodesNo = 1
    'Create Pinned Support
    pinnedSupport = suro.Support.CreateSupportPinned
    assignSupport = suro.Support.AssignSupportToNode(1, pinnedSupport)

    '''''''''''''''''''''''''''''''''''''''''''''
    ' Assign section properties

    Dim TaperedProperties(6) As Double
    Dim PropNo As Long
    Dim BeamNo As Long

    'Units are in meter for F1-F7 parameter
    TaperedProperties(0) = 0.2 'F1
    TaperedProperties(1) = 0.005 'F2
    TaperedProperties(2) = 0.8 'F3
    TaperedProperties(3) = 0.15 'F4
    TaperedProperties(4) = 0.01 'F5
    TaperedProperties(5) = 0.15 'F6
    TaperedProperties(6) = 0.01 'F7

    PropNo = suro.Property.CreateTaperedIProperty(TaperedProperties)

    BeamNo = 1 'MEMBER NUMBER
    suro.Property.AssignBeamProperty BeamNo, PropNo
    suro.Property.AssignMaterialToMember "STEEL", BeamNo

    ''''''''''''''''''''''''''''''''''''''''''''''
    ' Add load

    suro.Load.CreateNewPrimaryLoad "Live"
    RetVal = suro.Load.AddMemberConcForce(1, 5, -26.4, 3, 0)


    End Sub

    ''''''''''''''''''''''''''''''''''''''''

  • Can you please explain your query a little bit more and attached the script?