490x
001634
2020-07-28

[PL] FAQ 004563 | Jak mogę utworzyć mimośrody prętów w RF‑COM?

Pytanie:
Jak mogę utworzyć mimośrody prętów w RF‑COM?

Odpowiedź:
Poniższe makro VBA ilustruje tworzenie dwóch mimośrodów prętowych. Kod źródłowy można znaleźć w sekcji Do pobrania.

' ------------------------------------------------ -------------------------------------------------- -
Sub SetEccs ()
' ------------------------------------------------ -------------------------------------------------- -
Dim model As RFEM5.model
Dane Dim As IModelData
Dim ecc(1) As RFEM5.MemberEccentricity

    'Pobierz interfejs dla modelu
    Set model = GetObject(, "RFEM5.Model")

    ' Blokada licencji COM i dostępu do programu
    model.GetApplication.LockLicense

    On Error GoTo e
    ' Uzyskaj interfejs dla danych modelu
    Ustaw dane = model.GetModelData

   'Zdefiniuj mimośród 1
    ecc (0) .No = 1
    ecc(0).ReferenceSystem = LocalSystemType
    ecc (0) .Start .X = 0,01
    ecc(0) .Start.Y = 0,02
    ecc(0) .Początek.Z = 0,03
    ecc(0).End.X = -0,01
    ecc(0) .End.Y = -0,02
    ecc(0).End.Z = -0,03
    ecc(0).Comment = "Mimośród 1"

   'Zdefiniuj mimośród 2
    ecc (1) .No = 2
    ecc(1).ReferenceSystem = GlobalSystemType
    ecc(1) .Start.X = -0,07
    ecc(1) .Start.Y = -0,08
    ecc (1) .Start. Z = -0,09
    ecc(1).End.X = 0,07
    ecc (1) .End.Y = 0,08
    ecc(1).End.Z = 0,09
    ecc (1) .Comment = "Mimośród 2"

    'Przenoszone mimośrody prętów
    data.PrepareModification
    data.SetMemberEccentricities ecc

e:  data.FinishModification
    Jeżeli Err.Number 0 to MsgBox Err.Description, , Err.Source
    Ustaw dane = Nic
    ' Licencja COM jest odblokowana, dostęp do programu możliwy
    model.GetApplication.UnlockLicense
    Ustaw model = Nic

End Sub