Family Instances Placement Range


I have a list of Family Types ready for placement, which create a basic diagram of generic annotation symbols in a linear range. In concept, a max of 50 symbols which are spaced 1/2" apart. These symbols are all in a specific order, already sorted out in another section of the dyn.

Now…rather than create 50 devices that go straight UP in order on my page (landscape 24" x 36"), I would prefer a grid of them so they fit, but following this specific order. Beginning from a lower left corner going 1 - 20UP (over 1/2") 21 - 40 DOWN (over 1/2") and 10UP. Just like the ranges shown below. Those are a means to perform this task, but it appears I would have to split my list of 50 device up into three separate lists. Is there a better way to achieve what I need? Any help would be appreciated, thank you.


You can do this by altering only the point list, no need to edit the family list.

Build the list of points from 0-20 and the list of points from 21-40 and combine them into a single list.

Use a Geometry.Translate node to shift them by a range from 0 to 36, stepping 4 units along the X axis. Lacing and list level will matter. Check out the Dynamo Primer if you need assistance with that. Result should be a grid of all the points on the sheet in list of columns.

Use a List.Flatten node to flatten the list completely (-1 as the amount input). This should now just be a list of points forming the grid.

Use a FamilyInstance by point node with shortest lacing to place all the families. The shortest lacing will mean additional points will be discarded.

Note that you may want to use a legend here as placing items on a sheet isn’t a good practice - you’ll have to update each family instance on each sheet if the items change for some reason but a legend would allow bulk updates and allows for placement of the same view on multiple sheets.

Thank you Jacob, very informative. I will give your input a try and update the thread when complete.


Solution updated. Thank you! That was it.