Goal: Create a solution combination object combining many environments.
Code:
# get the environments, an alternative would be via Model.Analyses
envs = DataModel.GetObjectsByType(DataModelObjectCategory.Analysis)
# create a solution combination object; By default it will come with 1 base case and 1 combination
sc = Model.AddSolutionCombination()
# definition object holds all the data
scdef = sc.Definition
# Any property on a base case can be set using an index and value
scdef.SetBaseCaseAnalysis(0, envs[0])
scdef.SetBaseCaseTime(0,1)
# Add more base cases as you desire
scdef.AddBaseCase()
scdef.SetBaseCaseAnalysis(1, envs[1])
# You can even pass in the Base Case settings to the constructor (Arguments are name, analysis, time)
scdef.AddBaseCase("BC 3", envs[1], 2)
# Any property on a load combination can be set using an index and value
scdef.SetLoadCombinationType(0,1)
# Add more load combinations as you desire
scdef.AddLoadCombination()
scdef.SetLoadCombinationName(1, "LC2")
# You can even pass in the Load Combination settings to the constructor (Arguments are name, type)
scdef.AddLoadCombination("LC3", 1)
# Coefficients are set using two indices and a value
scdef.SetCoefficient(0, 0, 2)
scdef.SetCoefficient(0, 2, 1)
scdef.SetCoefficient(1, 0, -0.5)
scdef.SetCoefficient(1, 1, 0.75)
scdef.SetCoefficient(2, 0, -1)
scdef.SetCoefficient(2, 2, 1.5)
#Once fully defined, add results and evaluate
sc.AddEquivalentStress()
sc.EvaluateAllResults()