Dynamo logic that allocates families according to dwg pattern



Hey guys, I made some face based families that I want to place on the celing valve that you see on the picture (red circle). Does anybody know if it’s possible to make a script that places the families automatically on the corresponding part (the one in black) in the dwg pattern?

Thanks in advance!



Likely yes. Hiwever there are too many variables to know for sure. How was your ceiling valve built? Is it hosted? Does it need a surface or will any point do? What is the model with the black points built as? Is it real Revit or an import or a Dynamo shape? Where is the dwg in all of this? You’ll need to share more than you are to get good answers.


The valve (the geometry in orange) is built as a freestanding roof by extrusion. The families that I’ve made are hosted on any surface - they’re face based. The model with the black spots is the 3D dwg. All black ‘spots’ are 3 different sizes and correspond more or less to the size of my families (which cut a void in any surface they’re hosted in). Theres no Dynamo geometry here, only the extrusion and the 3D dwg which is a Rhino export.

That’s pretty much all I have to work with right now. This revit file is then linked to the file of the whole project.

Would appreciate some advice on this. Thanks!


One idea:
If you can manage to isolate the black spots in your export you could:

  • Open the file in Autocad
  • Convert each spot to a polyline (if they aren’t already)
  • Find the center of each (unless you have a better way for this) and place a point at those locations
  • Use a data extraction command to write an xls giving the coordinates of each point

Might be a better way based on feeding out centroids from Rhino. But I’m not a rhino user.


Thanks for the tip.
Sounds good but i think ill have challenges with this last part. How to data extract and is that gonna link to Dynamo?


Dataextraction command is run from inside autocad, and produces an xls (or maybe csv) containing the selected data (in your case points). The xls (or csv) can be read by dynamo, and new family instances created at those points accordingly.