It is possible to remove everything above a solid, as in the example.
Yes.
- Get the top elevation of the upper solid by pulling it’s bounding box, getting the max point property and extracting the Z component thereof.
- Get the top surface of the lower solid.
- Get the perimeter curves of said face.
- Copy the curves to the elevation found in step 1 using a vector or other method.
- Loft between the two curve sets to generate a void solid.
- Write that void solid to the CAD file using an Object.ByGeometry method.
- Use the subtract command in AutoCAD to remove from the upper solid the resulting form. If you need to automate this step I believe you will have to step into the AutoCAD API (c# or Python) as I do not believe there are any packages which expose it.
Alternatively you can skip steps 6 and 7 and read the geometry of the upper object, subtract the new lofted solid from original geometry, delete the original upper solid, and write the new solid to the document. This risks losing other data on the original upper solid if you don’t also manage that, as the object will be ‘all new’.
I’ll try to do what you mentioned, although I’m a bit new to Dynamo.

