Antwort:
Eine Imperfektion gilt als Belastung und wird über das Interface des Lastfalls übergeben. Mit der Voraussetzung, dass das Interface zum Modell bereits geholt wurde, wird nun das Interface zu den Lasten (ILoads) und danach das Interface zum Lastfall 1 (ILoadCase) geholt, insofern dieser bereits angelegt wurde:
' set loadcases
Dim iLoads As iLoads
Set iLoads = model.GetLoads
' get load case
Dim iLc1 As ILoadCase
Set iLc1 = iLoads.GetLoadCase(1, AtNo)
' define imperfection
Dim imperf As Imperfection
imperf.Comment = "test"
imperf.Direction = LocalZType
imperf.Inclination = 200
imperf.no = 1
imperf.ObjectList = 1
imperf.Precamber = 300
imperf.PrecamberActivity = ActivityAccording_EN_1993_1_1
' set imperfection
iLc1.PrepareModification
iLc1.SetImperfection imperf
iLc1.FinishModification
Die Daten der Imperfektion (Imperfection) werden danach zuerst ausgefüllt, hier für Stab 1, und dann innerhalb eines Prepare-/FinishModification Blocks des Lastfall Interfaces übergeben.