This is more of a process question than a dynamo graph question… I’m trying to build a script that places a specific line-based deflection head family on the top faces of certain walls. The script itself is working fine in terms of placement etc the problem I have is when the wall has a hole in it…

I’m splitting the wall into faces and filtering to get any with a +ve Z vector. However, this also includes the bottom face of any openings. What I’m trying to figure out is if there is a way to filter out any faces that make up the hole, i.e. is there a property, or value, that would be unique to these faces?
Any suggestions are gratefully received!
Hi @Keith_Wilkinson1 element.geometry + from clockwork there you have the option to get your wall solid without opening/inserts
1 Like
Thanks, I will take a look at that. At the moment I’m using the Element.Faces nodes to pull the surface geometry so I’ll need to adjust that but this seems like a workable option.
Consider getting the front and back face, pulling the outside curve loop from each, lofting between the two loops, and then filter any surface with no Z component.
Alternatively you can intersect the wall with the slab; if memory serves you only want a defection head where the walls interact with the slab above, not on say freestanding half walls.
1 Like
Alas, this doesn’t seem to work if the opening has been created by modifying the wall profile, which is a scenario I need to be able to cater for…
Thanks Jacob, I’ll will have a look at the first option here. The second would work in some but not all situations as we also have beam boxouts to deal with as well just to add to the complications!
it should it is a modifed wall…profile,arh know i know 
hmmm… which package is that from?
synthezise toolkit
but guess its actuelly works as get the outer perimeter curves and loft…something here should work in most cases both for door windows, wall edited profile with opening, wall opening with ui
, etc
2 Likes
Thanks Sovitek,
This process works to get the surfaces I want which is great, however, I’ve still got the issue that the FamilyInstance.ByFace node is looking for the surface geometry of the walls themselves. If I feed the surfaces directly in here, along with the other associated info, I get the following warning.
However, if I follow what (I think) it says in the warning it still doesn’t seem to work…
I’m hoping this will be an easy fix as I’ve tried all sorts of options such as trying to find matching surfaces between the geometry I’m creating and those extracted from the walls, but to no avail thus far!
Hey Keith no not really sure…but for now it seems you input some element.geometry.reference into some faces, and not sure about the goal
I’m being stupid, I just need to set up a dictionary and use the face geometry as the key to match the ‘new’ faces with the corresponding wall faces… I think that should work. 
You’ll have to use C# or DefaultDict class in Python as Dynamo Dictionaries can only use strings as keys.
All good. I can just change the output from the Surface.PointAtParameter node to a string and use that. It all seems to be working on a test project but need to see how it behaves on a full-scale model…
Units might make an impact as rounding is applied in converting points to strings. You’re also doing a lot more work here then you need, due to the many additional bits of geometry creation and tests you’re running.
Yeah, I’m pretty sure this could be streamlined significantly, but it’s at the limits of what I can do with my current skill level and it’s better than nowt. 
1 Like
A thought: not use a adaptive family instead of a face based one? You likely always want the profile going vertically anyway, right? You might get bad results with sloped top of wall with face based.
Yeah, there are definitely other avenues that could be explored here but for now I think there is enough to give us what we need, which is essentially something that we can clash against. It seems pretty reliable with sloped walls although you do get some oddities where you have a wall attached to a roof that runs at an angle, if that makes sense, where you don’t end up with a flat surface.
Tests on a live project this afternoon are pretty positive though, a few mins to create around 500 deflection heads, so I’ll take that!
I’ll get the script tidied up and post it on here for anyone else that’s interested.
1 Like