Triming revit elements to a Surface or toposolid

Hi, I’m looking to try trim some Revit elements (structural columns) to the top of toposolid or surface (then put a variable offset on it) using Grasshopper. This is where I have gotten to but I feel this is the wrong way to go about it. Am I close or what else do I need to do?

Thanks in advance

Toposoild WIP.rvt (8.6 MB)
Columns and Footings to Toposoild WIP.gh (13.4 KB)