1220x
004337
2020-02-07

Pytanie

Jak mogę obliczyć tylko określone przypadki obciążeń, kombinacje obciążeń lub kombinacje wyników za pomocą polecenia z interfejsem COM?


Odpowiedź:

Aby obliczyć tylko określone przypadki obciążeń, kombinacje obciążeń lub kombinacje wyników, w taki sam sposób, jak przy użyciu polecenia "Obliczyć..." (patrz rysunek 01), można użyć metody CalculateBatch interfejsu ICalculation. W przypadku transferu metoda oczekuje pola z typem obciążenia Obciążenie. To Obciążenie zawiera numer obciążenia i typ (na przykład kombinację obciążeń):

Subbatch_test ()
    
' pobierz interfejs z otwartego modelu i zablokuj licencję/program
Dim iModel As RFEM5.IModel3
Set iModel = GetObject(, "RFEM5.Model")
iModel.GetApplication.LockLicense
    

On Error GoTo e
    
' pobierz interfejs do obliczeń
Dim iCalc As ICalculation2
Set iCalc = iModel.GetCalculation
    
' utwórz tablicę z typami obciążeń
Obciążenia wymiarami (3) As obciążenie
obciążenia (0).no = 1
obciążenia (0). Typ = LoadCaseType
    
obciążenia(1) .no = 4
obciążenia (1). Typ = LoadCaseType
    
obciążenia(2).no = 4
obciążenia(2). Typ = LoadCombinationType
    
' obliczy wszystkie obciążenia z tablicy naraz
obciążenia iCalc.CalculateBatch

e: Jeżeli Err.Number <> 0 to MsgBox Err.description, , Err.Source
    
Ustaw iModelData = Nic
iModel.GetApplication.UnlockLicense
Ustaw iModel = Nic

Zakończ sub