Problem Description:
How to extract the Load Combination Details (Load Combination Number, Title, Primary Load case number and corresponding multiplication factor) using OpenSTAAD function
Solution:
You need to use combination of the below functions
[Return Value]: The total number of combination load cases
[output] LCCases: The load case reference number ID(s)
[Input] LCCases: The load case reference number ID(s)
[Return Value] LoadCaseTitle: The load case title
[Return Value] nLoadCaseInComb: The number of load case(s) present in specified load combination
[output] LoadNos: Primary Load case reference number ID(s)
[output] Factors: Corresponding Multiplication factor(s)
Sample VBA Syntax:
Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")
Dim nLoadCombinationCase As Long 'Total number of combination load case(s)
Dim LCCases() As Long 'Load combination case number(s)
Dim nLoadCaseInComb() As Long 'number of load case(s) present in specified load combination
Dim LoadNos() As Long 'Primary Load case reference number ID(s) in specified load combination
Dim Factors() As Double 'Corresponding Multiplication factor(s)
Dim LoadCaseTitle() As String 'Title of the specified load case
Dim startrow As Long
startrow = 2
nLoadCombinationCase = objOpenSTAAD.Load.GetLoadCombinationCaseCount
ReDim LCCases(nLoadCombinationCase - 1)
objOpenSTAAD.Load.GetLoadCombinationCaseNumbers LCCases
ReDim LoadCaseTitle(nLoadCombinationCase - 1)
For i = 0 To nLoadCombinationCase - 1
Cells(startrow + i, 1) = LCCases(i)
LoadCaseTitle(i) = objOpenSTAAD.Load.GetLoadCaseTitle(LCCases(i))
Cells(startrow + i, 2) = LoadCaseTitle(i)
ReDim nLoadCaseInComb(nLoadCombinationCase - 1)
nLoadCaseInComb(i) = objOpenSTAAD.Load.GetNoOfLoadAndFactorPairsForCombination(LCCases(i))
ReDim LoadNos(nLoadCaseInComb(i) - 1)
ReDim Factors(nLoadCaseInComb(i) - 1)
objOpenSTAAD.Load.GetLoadAndFactorForCombination LCCases(i), LoadNos, Factors
For j = 0 To nLoadCaseInComb(i) - 1
Cells(startrow + i, 3 + (2 * j)) = LoadNos(j)
Cells(startrow + i, 4 + (2 * j)) = Factors(j)
Next j
Next i
Output: