I am background opening a bunch of Revit .rfa files based on a user input, then trying to extract the parameter values (Among other things) from the family and write it to excel. All other extracts are working, from formulas to groups, to types, to display units etc.
The values however report the issue above at the Parameter.GetValue node. This only happens sometimes which is what I donât understand. I have run it on other family folders and everything gets extracted perfectly with the values and everything else, but occasionally I get this error and the excel file contains a null value represented vertically in a column. I have tried to put start/end transaction nodeâs in place, but the error persisted.
Can any one direct me or offer any advise into what I should be looking at to get this sorted. I am struggling to find the solution myself. I thought it might have something to do with the way the families are constructed, but I havenât been able to prove that.
Also, am I going about this task the right way or is there an easier approach?
At my first look, You are using âPass throughâ node in wrong way.
The node let you can control the order of nodes to run in your graph,
for example, you may want to create a wall then place a door at the wall in one Dynamo graph, in this case the door canât be placed before creation of the wall. âPass Throughâ node is the one to be used in this case. Passthrough node will wait the created walls to input at âwait forâ, after walls arrive at the node, then it will pass through the original data about door placing(before placement) which is connected at âpass throughâ and then you can place a door with the data.
In your graph, there is no difference without the node because you connected the same data at both âpass throughâ and âwait forâ.
Yes looks like you use passtrough wrong way, but i think in that case it will give you output anywayâŚcould you show what passtrough after the family parameter properties give youâŚanother thing where did the node parameter get value comes from ? is it Orchid ? if so its very importent to feed in orchidtypes, both for document and familytypes
The Passthrough node doesnât seem to have much of an effect on the outcome, as this node still produces the required info the way that it is wired. My thinking was that I wanted to open the files before I extracted the parameters from the family. Should I do this in another way?
Here is the list from the Passthrough node after the FamilyParameter.Properties node. it is a list of all the parameter names of each family in the folder location, and that works well.
In this example I have run the script on the âDoorsâ metric family folder that ships with the Revit software. Here you can see the results of the Excel file and this is where my problem is. It will produce correct values for most of the families in the folder, just not all of them.
Here you can see that column B gives me the parameter values where those values exist.
In this instance, it just reports null⌠The strange thing for me is that there is no difference I can see in this family as opposed to the one that is working correctly.
In a nutshell what I am trying to do is extract the parameter values of these families which are located inside a folder, without having to open them up one at a time. Is there perhaps an easier way to do this?
That is what we are trying to avoid, we are trying to make it so that we donât have to load any families anywhere, just extract the parameter values directly from the family document without loading or placing the family. Do you know if this is actually possible?
Youâll be best served here probably with python if you have lots of families. I have read and wrote hundreds of families that way accurately in lieu of nodes.
Keep in mind that if you load them, they may grab junk from the project they are loaded into so donât save Iâd you donât want that.
Thanks Sean, I wish I knew Python better than I do, then I could save countless hours everywhere Iâm sure.
I will try find pieces of code and put it together as best as possible, thanks!