So, it looks like you are putting the carriage in front of the horse.
Yes, you could probably build this out in dynamo, but it would be a lot easier to host a void in the Sheet-Piling family. The easiest thing to do would be to create a separate shared family as a generic model, and then place it in the sheet-piling. Then you don’t have to place / synchronize the locations if the sheet-piling-location shifts.
You could then grab these shared families in a dynamo script, intersect them with the slabs, and then cut them out. If you don’t have the following packages installed, you really should:
archi-lab
clockworks
steamnodes
rhythm
springs
bimorph nodes
Seriously, nest a void family in the sheet-piling. Placing through dynamo is maybe a fun exercise / learning experience, but use built-in features whenever possible.
Cheers,
Matt