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 nello stesso modo del comando "Da calcolare ..." (vedi Figura 01), è possibile utilizzare il metodo CalculateBatch dell'interfaccia ICalculation. Per il trasferimento, il metodo prevede un campo con il tipo di carico di Caricamento. 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
'ottieni l'interfaccia per il calcolo
Dim iCalc come ICalculation2
Imposta iCalc = iModel.GetCalculation
'crea un array con i tipi di caricamento
Dim loadings (3) As Loading
carichi (0) .no = 1
loadings (0) .Type = LoadCaseType
carichi (1) .no = 4
loadings (1) .Type = LoadCaseType
carichi (2) .no = 4
loadings (2) .Type = LoadCombinationType
'calcola tutti i carichi dall'array in una volta
iCalc.CalculateBatchcarichi
e: If Err.Number 0 Then MsgBox Err.description,, Err.Source
Imposta iModelData = Nothing
iModel.GetApplication.UnlockLicense
Imposta iModel = Nothing
End Sub