Une imperfection est considérée comme une charge et transférée via l'interface du cas de charge. Si l'interface avec le modèle a déjà été extraite, l'interface avec les charges (ILoads) puis l'interface avec le cas de charge 1 (ILoadCase) sont récupérées si elles ont déjà été créées :
' 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
Les données de l'imperfection sont alors d'abord entrées (pour la barre 1 ici), puis transférées dans un bloc Prepare-/FinishModification de l'interface du cas de charge.