Risposta:
Innanzitutto, viene creata una trave risultante come nel caso di un'asta normale:
Dim modello Come RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dim data As IModelData
Imposta dati = modello.GetModelData
Aste dim(0) As RFEM5.Member
aste (0).No = 3
aste (0).LineNo = 12
aste (0).Type = ResultBeamType
aste(0).StartCrossSectionNo = 1
aste(0).EndCrossSectionNo = 1
aste(0).Comment = "trave risultante 1"
data.PrepareModification
aste data.SetMembers
data.FinishModification
Quindi, è necessario prendere l'interfaccia IMember dal membro corrispondente e utilizzare il metodo GetExtraData per ottenere l'interfaccia a IResultMember. Ora, questa interfaccia può essere utilizzata per leggere o scrivere i dati di ResultMember. Si prega di notare che il blocco Prepare-/Finishmodification è richiesto durante la scrittura:
Dim iMem As IMember
Imposta iMem = data.GetMember(3, AtNo)
Dim iRMem As IResultBeam
Imposta iRMem = iMem.GetExtraData
Dim RMem As ResultBeam
RMem = iRMem.GetData
RMem.IncludeSurfaces = "1"
RMem.IncludeSolids = "tutti"
RMem.Integrate = WithinCuboidGeneral
Dim parametri (da 0 a 3) As Double
RMem.Parameters = params
RMem.Parametri(0) = 0.5
RMem.Parametri(1) = 0.5
RMem.Parametri(2) = 0.1
RMem.Parametri(3) = 0.1
data.PrepareModification
iRMem.SetData RMem
data.FinishModification
La macro EXCEL completata e il file di test corrispondente sono allegati.