467x
001185
2020-02-07

[IT] FAQ 004337 | Come posso calcolare solo casi di carico specifici, combinazioni di carico o combinazioni di risultati ...

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