I have a complicated Dynamo code I am attempting to write. The deliverable is to place a clearance on all full height walls in a 14 story hospital building to determine future priority walls for construction. Ideally I would like the family (shape shown in the image below) to automatically place on all full height walls and scale to the length of the wall and adjust its height based off the ceiling height of the room it is in.
From what I have discovered, the hard part is to place these manually and it would be much easier to either apply them to all walls or to manually place them and use Dynamo to scale them appropriately. I am looking for any and all input on this, especially as it relates to which type of Revit family to create this in (generic, generic wall hosted, wall sweep).
Assuming all walls are linear, I’d use a wall based family hosted to the lowest corner of the wall face you want it placed on. Populate these on all the walls you want them on. Then get the hosting wall’s length and height and use those to adjust the extrusion length and profile height.
Thanks for the feedback Jacob. Are you suggesting I manually place them all and then scale them using Dynamo?
I’d do it all with Dynamo actually.
Thinking on it further: a linear face based element would be easier. Pull the wall surface you want to host to. Get the lower edge. Then use this node to create the family instance at the right length. Then read the height of the surface and use that to set the height of the family instance.
Okay. Would this give me the option to choose if I want it on both sides or a single side of the wall?
You’d want to select each face of each wall that you want to apply the geometry to. This can be done manually (pick face, run graph via Dynamo Player), or computationally in bulk (get all walls, find inside and outside face, filter out inside/outside face of each wall based on conditions being met, and place the family on all faces which are left).