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