1215x
004337
07.02.2020

Question

Comment calculer uniquement des cas de charge, des combinaisons de charges ou de résultats à l'aide d'une commande de l'interface COM ?


Réponse:

Pour calculer uniquement certains cas de charge, combinaisons de charges ou de résultats, comme c'est le cas à l'aide de la commande « À calculer... » (voir la Figure 01), vous pouvez utiliser la méthode CalculateBatch de l'interface ICalculation. Pour le transfert, cette méthode nécessite un champ avec le type de chargement Loading. Il inclut le numéro de la charge et son type (une combinaison de charges, par exemple) :

Sub batch_test()
    
'   get interface from the opened model and lock the licence/program
    Dim iModel As RFEM5.IModel3
    Set iModel = GetObject(, "RFEM5.Model")
    iModel.GetApplication.LockLicense
    

On Error GoTo e
    
    '   get interface for calculation
    Dim iCalc As ICalculation2
    Set iCalc = iModel.GetCalculation
    
    '   create array with loading types
    Dim loadings(3) As Loading
    loadings(0).no = 1
    loadings(0).Type = LoadCaseType
    
    loadings(1).no = 4
    loadings(1).Type = LoadCaseType
    
    loadings(2).no = 4
    loadings(2).Type = LoadCombinationType
    
    '   calculate all loadings from the array at once
    iCalc.CalculateBatch loadings

e:  If Err.Number <> 0 Then MsgBox Err.description, , Err.Source
    
    Set iModelData = Nothing
    iModel.GetApplication.UnlockLicense
    Set iModel = Nothing

End Sub