I had a spreadsheet setup to retrieve foundation forces at each column using GetColForcesForLCase. If the column had a brace framing into the bottom, it would instead find closest node to column base (i.e. node in which brace frames into) and retrieve the imemberforces pointer for the node via INode.GetReactions. Now after updating to V17 every column with a brace framing into its base is giving me incorrect values. After taking the code step by step in VBA I noticed all of the imemberforce pointers now have 0 values for all axial,shear,and moments in the nodes. Before I pull my hair out trying to fix it, is there anything that might have changed that would require me to change VBA code? I looked at release notes and it didn't seem like anything was implemented that would impact this spreadsheet.
Looks like there might be a defect related to INodes.Filter that I will need to dig into. Try commenting out that line in your code to work around the issue. I didn't look closely at your code, but you may have to introduce some other logic to only consider nodes at the base.
Also, there are other load cases besides the Eigen solution that do not produce forces that you will want to skip. The ILoadCases interface has a filter to exclude cases that do not produce forces.
Answer Verified By: Andy
Thanks Eric, good tip on the ILoadCases filter to simplify my code.
Regarding this issue, it seems like there is definitely something weird happening with DataAccess and not necessarily my code or RAM model, because when I comment out the suggested line of code, or any line of code for that matter, I get a "Compile error: Method or data member not found".
I noticed this same error when I commented out a different line of code and it jumbled up my variable assignments. I checked my Locals window in VBA and noticed the variable type being assigned to each variable got jumbled up. And it seems like this happens no matter how I edit the code.
I did not encounter those problems while working in your workbook and don't have enough development experience to comment on what might be causing the problems you are observing. However, RSS wouldn't run and interoperability with other applications would fail if DA was broken. Perhaps you are seeing some memory related issues and might need to flush things out to get squared away. See if rebooting or removing/adding the DA reference helps clean things up for you.
It must have been some weird memory issue but I copied code over to new spreadsheet, commented out node filter, and it works now! Thanks Eric, would be interested to hear if a problem is found and fixed related to this.
I found that the GetClosestNode method was using an incorrect index into the main list of nodes when the Nodes collection was filtered. That defect will be fixed in the 17.01 release (March/April).