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