876x
004869
2020-12-14

Pytanie

Jak mogę odczytać wypadkową przekroju za pomocą interfejsu COM?


Odpowiedź:

Podobnie jak wszystkie inne wyniki, wypadkową przekroju można odczytać poprzez IModel3 → ICalculation2 → IResults2. Interfejs do wyników zapewnia funkcja GetResultant, która po podaniu numeru przekroju i rodzaju rozkładu wyników zwraca strukturę ResultantForce. Na konstrukcję tę składają się, między innymi, wektory sił i momentów:

Sub GetResultantSection ()
Dim iApp As RFEM5.Application
Dim iModel As RFEM5.model
Set iModel = GetObject(, "RFEM5.Model")

On Error GoTo e

' pobierz interfejs z modelu
Ustaw iApp = iModel.GetApplication
iApp.LockLicense

' pobierz interfejs z obliczeń
Dim iCalc As RFEM5.ICalculation2
Set iCalc = iModel.GetCalculation

' uzyskaj interfejs z wyników z przypadku obciążenia 1
Dim iRes As RFEM5.IResults2
Ustaw iRes = iCalc.GetResultsInFeNodes (LoadCaseType, 1)

' uzyskać Wypadkową
Dim przekrój_wypadkowy jako siła wypadkowa
section_resultant = iRes.GetResultant(1, AtNo, ConstantDistributionOnElements)

e:
Jeżeli Err.Number <>0 to
MsgBox Err.Number & „ ” & Err.description
End If

Jeśli nie iApp to nic, to
iApp.UnlockLicense
End If

Zakończ sub