Staying in Part Design can be done, but at least my solution involves attaching to faces and edges which makes it vulnerable to TNP if you change the model.
The idea here is you create the attachment curves on the torus by splitting the profile sketch for the revolution, as I did in an earlier post. We then want to attach sketches tangential to the surface at points on these curves to locate our holes. We do this in two steps.
- Create a datum Point
- Using MapMode, select the edge to attach it to, and use 'OnEdge"
- Make a sketch of your hole, centered at the origin, temporarily on the XY-plane.
- Change this sketch's MapMode. First selection a surface of the revolution next to edge. Second selection the Datum Point. Mode: Tangent Plane
For the centered big holes, I set the MapPath to 0.5, pocketed and did polar arrays in both directions.
For the smaller holes, I offset the datum point from the center and did a Polar Array + Mirror MultiTransform.
In retrospect it would have been better to place the datum points and sketches before doing any pockets and transforms - then you shouldn't automatically get TNP when you change polar counts as the edge and face references wouldn't change.