Hi Cyan - sorry, I’ll get you a blow by blow for what I did - basically the obvious, except that the underside was already messed up with previous attempts, so most of the work is in repairing that - with a clean part it would just work.
So the part was already cut up in doubtful ways - the cross sections through the area to work on
show the problems:
Explode the part and delete all the junky parts:
leaving you with just the goose with a bit missing:
The trick is to fill that hole, then BooleanDifference out the little cylinder. One way to do that is to select control points near the edge of the hole and build a patch surface:
then trim the patch with the border curve of the hole:
Convert the patch surface to a mesh (to match your part, which is a mesh, not a surface)
Join the new mesh to the larger mesh:
matchMeshEdge with ‘DistanceToAdjust’ set to maybe .1 This will get the mesh vertices matched up there along that edge. the new cross sections are cleaner:
Now you can try a
MeshBooleanDifference with the small cylinder.