Remove undercuts from NURBs and convert to mesh for stl?

I have a model with open and closed surfaces. I am going to machine it in a 3 axis mill and want to make a 3D print to see what it will look like. Since there won’t be undercuts in the z axis, I want to extrude all the objects to a z plane and make an stl to print.

Open surfaces can be extruded. But I don’t know how to handle other objects. For example, I have a closed surface that is a helix with a circle swept along it. I have tried a few approaches - one was making a silhouette and extruding that curve. That gave me the sides, but I don’t know how to attach everything to make a solid.

Is there a procedure for doing this?

Depending on the model, prepping it for an STL to ‘check’ is going to be far more expense than just machining it, if you don’t have to fix all that stuff for CNC.

Maybe your 3d printing software can help. After all, it will want to create supports which fill in those undercuts anyway, so maybe you can just leave those supports attached?

It seems like there could be some way to do this in Grasshopper. Like by creating an array of z vectors which intersect the first thing they hit on the model and then creating a mesh from the intersections.