382x
002114
2020-12-14

[PL] FAQ 004869 | Jak mogę odczytać wypadkową przekroju za pomocą interfejsu COM ...

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 błąd nr 0, to
    MsgBox Err.Number & „ ” & Err.description
End If

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

End Sub