I'm using the RAM DataAccess API and not sure if I am using IModelGeometry1 in the VBA macro correctly. I ultimately want to populate a table with the Support type and Support ID for every beam, for both start and end joints. I initialized interfaces and followed with a loop for each beam. But I'm getting a compile error. Any help to correct the VBA below is much appreciated.
Dim IModelGeometry1 As RAMDATAACCESSLib.IModelGeometry1
Set IModelGeometry1 = RAMDataAcc1.GetDispInterfacePointerByEnum(IModelGeometry_INT)
R = 14 'start on this row
lNumBeams = IBeams.GetCount For lBeam = 0 To lNumBeams - 1 Set IBeam = IBeams.GetAt(lBeam) lUID = IBeam.lUID Cells(R, 2) = strStoryID Cells(R, 3) = IBeam.lLabel Cells(R, 4) = IBeam.strSectionLabel IModelGeometry1.GetBeamSupportInfo peSupportTypeStart, plSupportIDStart Cells(R, 5) = peSupportTypeStart Cells(R, 6) = plSupportIDStart R = R + 1 Next 'Beam
It appears that your call to IModelGeometry1.GetBeamSupportInfo is missing a few arguments. There should be five arguments. Here's a snipped from the DA manual.
GetBeamSupportInfo ([in] long IBeamID, [out] EUniqueMemberTypeID* peSupportTypeStart, [out] long* plSupportIDStart, [out] EUniqueMemberTypeID* peSupportTypeEnd, [out] long* plSupportIDEnd)
Answer Verified By: Chiang Ng