Applies To | |||
Product(s): | STAAD.Pro | ||
Version(s): | All | ||
Environment: | N/A | ||
Area: | OpenSTAAD | ||
Subarea: | Member Specification | ||
Original Author: | Bentley Technical Support Group | ||
Problem Description:
How to assign MEMBER RELEASE Specification to the selected Member(s) using OpenSTAAD functions
Solution:
Primarily, you need use these four functions
Sample VBA Syntax:
Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")
Dim varLocation(1) As Long
Dim varDOFRelease(5) As Long
Dim varSpringConst(5) As Double
Dim Specification(1) As Long
Dim SelBeamNos() As Long
Dim NoOfSelectedBeams As Long
NoOfSelectedBeams = objOpenSTAAD.Geometry.GetNoOfSelectedBeams
ReDim SelBeamNos(NoOfSelectedBeams - 1)
objOpenSTAAD.Geometry.GetSelectedBeams SelBeamNos, 0
varLocation(0) = 0 'START
varLocation(1) = 1 'END
varDOFRelease(0) = 0 'FX ; 1=Active & 0= Not active
varDOFRelease(1) = 1 'FY ; 1=Active & 0= Not active
varDOFRelease(2) = 1 'FZ ; 1=Active & 0= Not active
varDOFRelease(3) = 0 'MX ; 1=Active & 0= Not active
varDOFRelease(4) = 0 'MY ; 1=Active & 0= Not active
varDOFRelease(5) = 0 'MZ ; 1=Active & 0= Not active
varSpringConst(0) = 0 'KFX
varSpringConst(1) = 0 'KFY
varSpringConst(2) = 0 'KFZ
varSpringConst(3) = 0 'KMX
varSpringConst(4) = 10000 'KMY
varSpringConst(5) = 10000 'KMZ
Specification(0) = objOpenSTAAD.Property.CreateMemberReleaseSpec(varLocation(0), varDOFRelease, varSpringConst) ' To create Member Release specification at START
Specification(1) = objOpenSTAAD.Property.CreateMemberReleaseSpec(varLocation(1), varDOFRelease, varSpringConst) ' To create Member Release specification at END
objOpenSTAAD.Property.AssignMemberSpecToBeam SelBeamNos, Specification(0) ' To assign Member Release specification at START location of the selected member(s)
objOpenSTAAD.Property.AssignMemberSpecToBeam SelBeamNos, Specification(1) ' To assign Member Release specification at END location of the selected member(s)