Node to find touching elements

Is there any node through which we can find the faces of elements touching each other?

Depends on what you are trying to do, maybe a bit more information would be needed. I think you could use the Geometry.IntersectAll node: Geometry.Geometry - IntersectAll

Let’s say you are intersecting solids:

  • if two solids’ faces are only “touching”, it would return their common face
  • if two solids are intersecting, it would return a solid
  • if they have no intersection at all, it returns an empty list

Hope this helps

All I need is the exposed face of the beam whose some area of the face is touching the floor.

Hi @jazzsharma200 …probably something here could help…

I have tried this thanks to @GavinCrump but what if a secondary beam is resting on this beam I have to exclude the cross-sectional area of the secondary beam or you can take the floor also if the surface of the floor is touching the beam it needs to be excluded from the beam.

1 Like

I tried it returns the empty list but clearly, it has a lot of intersecting solids.

allright…think you should set your lacing to longest…

As discussed via Twitter there are a lot of geometric quirks here versus Rhino Inside unfortunately. I’ve found typically solid unions do not work well in Dynamo versus Grasshopper in many scenarios, especially with glancing edges running alongside one another.

I would simply never take on a workflow this big in Dynamo unfortunately. Total surface calculation sure, but associated calculation is too computationally intense in most cases that are project scale. I love using Dynamo, but I know when it’s beat as well.

Having said that, this is how I’d do it if I had to use Dynamo but it wont scale well. Effectively you clash the entire formwork as a polysurface against each element’s original solid form. It wont work well for elements with coincident faces like beam/slab overlaps unfortunately, you’d need a more complex algorithm to take that one on, maybe that first takes away floors from the polysurface and then lets the rest belong to beams.

form clash.dyn (30.8 KB)
FORMWORK.rvt (352 KB)

It worked & I have verified these are the faces that I need to subtract surface area from the corresponding element.

1 Like

I did got the intersecting Geometry. Now all i have to do is subtract their surface area from the Element surface area.