Revit Footing location mark parameter from columns

Hello!
I am not experienced with Dynamo, I hope someone could help me.
I have been struggling trying to extract the parameter “Column location mark” and then use this tis information to add a parameter to the footings, in order to have a “Footing location mark”.
In other words, have the data of the grid intersection for all the footing in the project.
I have read a previous post with some examples, but I have not been able to make it work.

Hi @francisco.blanco.fuj ,

Could you display your complete graph?

You can set by this example.

SetFootingLocationBasedColumn.dyn (27.1 KB)

1 Like

Sorry @_Vija, this is my full graph, hope you could help me

Thank you very much @manhgt214, I will try it like this

@manhgt214, I tried like your graph, I made a modification because the columns and footings were “Null”.

It seems no issue occurred in the run, however the parameter in Revit still empty

What do all the node outputs look like? Without the node previews we have no idea what’s actually going on in your graph. Does everything have a value? Are you reading from and writing to the correct parameters?

@Nick_Boyts, thanks for your assistant.

What do all the node outputs look like?
I am sharing the node outputs in the image, not all of them, please let me know if you need more information

Does everything have a value?
Yes, every node input has a value

Are you reading from and writing to the correct parameters?
Sorry, I pretty new with Dynamo, I do not understand. I had created a project parameter in revit called “Footing Location Mark” and what I understand is that the same parameter has to be at the end of the graph.

It’s always best to show all node previews just because you never know where the issue could be, but I think this gives as an idea.

It looks like you have 250 columns and 67 footings, however, only 22 footings get filtered as having an associated column. You’re then assigning all 250 column location marks to the 22 footings. You need to filter both the columns and the footings so that the lists represent the matching column/footing pairs.

1 Like

Ok! I think I understand the issue, but I am not quite sure if I will be able to fix it.
I believe that the fix point should be before the geometry interception, isn’t it?
I can see that the 67 columns that have footing have a correct location mark.
Would you be so kind as to tell me how I could filter the columns and footings?

You would check to see which have intersections like you are now, you just need filter both the columns and the footings. Using something like DoesIntersect would probably be more helpful (and faster) than getting the actual geometry intersection, plus it should make the filtering easier.

However, I can see another issue now. You are flattening the list of solids which means your solids (and therefore your intersections, don’t align with the specific columns or fittings anymore. Use Solid.Union to join all the solids in each element into a singular solid so that the number of intersections matches the number of elements.

1 Like

This post will probably help you as well:

One solution uses SteamNodes for the element proximity check.
The other uses an offset of the BoundingBox (SpringNodes) vs the insertion point of the foundation.

that is only example to refer.
In the case of you, try with below, I changed a little bit

SetFootingLocationBasedColumn(4u).dyn (35.9 KB)
le bit