885x
004181
2019-11-25

Pytanie

Jak mogę utworzyć belkę wynikową za pomocą interfejsu COM?


Odpowiedź:
Najpierw tworzona jest belka wynikowa podobnie jak w przypadku zwykłego pręta:

Model przyciemnienia Jak w RFEM5.model
Ustaw model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

On Error GoTo e

Dane Dim As IModelData
Ustaw dane = model.GetModelData

Pręty Dim (0) As RFEM5.Member
    
pręty (0) .Nr = 3
pręty (0) .Linia nr = 12
Members (0) .Type = ResultBeamType
    
Members (0) .StartCrossSectionNo = 1
pręty (0) .EndCrossSectionNo = 1
    
Members (0) .Comment = "belka wynikowa 1"

data.PrepareModification
data.SetMembers Members
data.FinishModification

Następnie należy pobrać interfejs IMember z odpowiedniego pręta i użyć metody GetExtraData, aby pobrać interfejs do IResultMember. Teraz za pomocą tego interfejsu można odczytywać lub zapisywać dane pręta wynikowego. Należy pamiętać, że blok Prepare-/Finishmodification jest wymagany podczas zapisywania:

Dim iMem As IMember
Ustaw iMem = data.GetMember (3, AtNo)
    
Dim iRMem As IResultBeam
Ustaw iRMem = iMem.GetExtraData
    
Dim RMem jako belka wynikowa
RMem = iRMem.GetData
    
RMem.IncludeSurfaces = "1"
RMem.IncludeSolids = "wszystkie"
    
RMem.Integrate = InternalCuboidGeneral
    
Dim params (0 do 3) As Double
    
RMem.Parametry = parametry
RMem.Parametry (0) = 0.5
RMem.Parametry (1) = 0.5
RMem.Parametry (2) = 0,1
RMem.Parametry(3) = 0,1
    
data.PrepareModification
iRMem.SetData RMem
data.FinishModification

W załączniku znajduje się wypełnione makro EXCEL i odpowiedni plik testowy.