Réponse:
Une barre résultante est tout d'abord créée comme une barre normale :
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dim data As IModelData
Set data = model.GetModelData
Dim members(0) As RFEM5.Member
members(0).No = 3
members(0).LineNo = 12
members(0).Type = ResultBeamType
members(0).StartCrossSectionNo = 1
members(0).EndCrossSectionNo = 1
members(0).Comment = "result beam 1"
data.PrepareModification
data.SetMembers members
data.FinishModification
Ensuite, l'interface IMember doit être extraite de la barre correspondante et la méthode GetExtraData permet d'obtenir l'interface avec IResultMember. Il est alors possible de lire ou d'écrire les données de ResultMember à l'aide de cette interface. Veuillez noter qu'un bloc Prepare-/Finishmodification est requis lors de l'écriture :
Dim iMem As IMember
Set iMem = data.GetMember(3, AtNo)
Dim iRMem As IResultBeam
Set iRMem = iMem.GetExtraData
Dim RMem As ResultBeam
RMem = iRMem.GetData
RMem.IncludeSurfaces = "1"
RMem.IncludeSolids = "all"
RMem.Integrate = WithinCuboidGeneral
Dim params(0 To 3) As Double
RMem.Parameters = params
RMem.Parameters(0) = 0.5
RMem.Parameters(1) = 0.5
RMem.Parameters(2) = 0.1
RMem.Parameters(3) = 0.1
data.PrepareModification
iRMem.SetData RMem
data.FinishModification
Veuillez trouver ci-dessus la macro Excel préparée et le fichier de test correspondant.