1226x
004337
2020-02-07

Domanda

Come posso calcolare solo casi di carico specifici, combinazioni di carico o combinazioni di risultati utilizzando un comando con l'interfaccia COM?


Risposta:

Per calcolare solo casi di carico specifici, combinazioni di carico o combinazioni di risultati allo stesso modo del comando "Da calcolare..." (vedere l'immagine 01), è possibile utilizzare il metodo CalculateBatch dell'interfaccia ICalculation. Per il trasferimento, il metodo prevede un campo con il tipo di carico Loading. Questo carico include il numero del carico e il tipo (ad esempio, una combinazione di carico):

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
Oscura iCalc come ICalcolo2
Imposta iCalc = iModel.GetCalculation
    
' crea array con tipi di caricamento
Carichi dim (3) come caricamento
caricamenti(0).no = 1
loadings(0).Type = LoadCaseType
    
caricamenti(1).no = 4
loadings(1).Type = LoadCaseType
    
carichi (2).no = 4
loadings(2).Type = LoadCombinationType
    
' calcola tutti i caricamenti dall'array contemporaneamente
iCalc.Calcola caricamenti batch

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

End Sub