Making (lots of) holes - in things like brake discs
main page
Starting with the ‘holes’ and working ‘outwards’.

1) Create a cylinder with the appropriate amount of geometry on it for the task in hand – this cylinder will eventually become a hole. Duplicate this object (on the spot) twice – by whatever means you prefer (I dupe > free, constrained + shift D). Move 2 of the objects to the required positions – moving along an axis that goes thro’ a side – rather than a corner. I used Z here.
2) Select the 2 faces opposite each other (only one shown in pic) on the 2 objects that will become holes.
3) Apply Face Bridge – to form one object.
4) Select all axial faces – I selected one axial edge > G (face ring) > F (to conevrt to faces)
5) Apply Face | Extrude Region > Normal. Drag as required.
6) Deselect the 2 end faces – one shown, other on other end of object. (Should now have 10 faces selected – eyeball top left info to check)
7) Apply Face | Flatten > RMB option (pick a point for flatten plane to pass thro’). Choose any element that has a centre lying on the centre line (ie above Z axis)
8) Execute Flatten op – this is the result – all 10 faces are flattened to the same axial plane (X = 0)
9) Deselect 5 of these faces on one side only, leaving the other 5 selected.
10)  Apply Face | Rotate > Y > RMB option (pick point for axis to pass thro’) – I chose the end face of the reference cylinder that was left at the origin. (As this will also be aligned with the centre of the final object.)
11)  Start the op, open numerical input dialogue (press Tab) and enter the required angle – this will be half the included angle of the the ‘wedge’. Since I wanted a 17 section final object (and had no idea whatsoever what the correct No. - in degrees was) I did it in the way shown, as wings dialogue supports arith / trig functions etc). Accept with ok.
12)  Deselect the 5 sides just rotated and select the other 5 sides (that were flattened) – and repeat the previus rotate op (in other direction :) ) – using the same ref point etc.
13)  Situation after both rotates have been completed. Since this is essentially the main part done – it’s just a matter of finishing off / tidying up. While you’ve got these faces selected, press I (select similar) .
14)  Face | Dissolve (Bksp) to create 2 large faces, ready for mirroring the wedge.
(It would have been better to use Dissolve after flattening the faces at stage (10) – as all faces already selected – and would make it easier to select (single) faces for the rotate ops)
15) Use Face | Bridge to ‘punch thro’ the 2 holes, do any scaling / making edges hard etc at this stage – anything ‘goes’ – except for any op that alters the ‘wedge’ angle – for what I’d have thought were obvious reasons :)
16)  Once you’ve got the ‘wedge’ to the state shown in (15), the rest is basic ‘donkey work’ – just mirroring etc to create a complete object. There’s various ways of doing this (including using Face | PutOn > RMB), but depending how many wedges are involved, just basic mirroring etc is fine.
Since this is a 17 section object, I used Face | Mirror > RMB option on one side of the wedge. This created an unattached duplicate, which could be mirrored 1 > 2 > 4 > 8 > 16. The block of 16 + original object could then be welded.
17)  Shows the single original wedge selected and the 16 section block created from the unattached duplicate.
18)  Result after selecting both objects and applying Object | Weld.
19)  Pic of object after a single smooth.
20)  Another possible ‘wedge’ configuration - 2 polys less / wedge, keeping to all quads (in final object) and no poles around the periphery of the holes. Stage (13) would probably be a reasonable point to mess around if so inclined.
9) Now we’re going to start ‘drilling’ the holes :)
With a view similar to that shown here (wedge in w/frame), lock the wedge, by clicking on the middle ‘padlock’ icon in Geom. Graph.
Select the lower end face of the cylinder shown
10) Change camera view so you can see underneath the ‘wedge’. Unlock wedge by clicking on its icon again. Select the lower wedge face.
11) Apply Face | Bridge. This will form new edges as shown, on the same plane as the wedge face (assuming cylinder is still the same length as wedge thickness)
12) At this stage, the hole is a ‘blind’ one, rather than a ‘thro’ one. To complete the ‘drilling op’, select the cyl. face shown.
13) Select the appropriate top face of the wedge.
14) Apply Face | Bridge to complete the hole.
15) Repeat the (9 – 14) procedure for the other hole. At this stage, it’s probably convenient to do any further alterations before mirroring the wedge to form the whole object.
I selected the edges shown and used Edge | Hardness > Hard in this case, but adding additional control geometry to accomplish similar results would also have been straightforward.
Whatever you do, don’t mess up the side faces of the wedge (no extra edges) or the wedge angle.
Depending on how you want to mirror this wedge to form a complete object, select one (or both – as here) side faces of the wedge.
16) Using the 2 unconnected (to original) new wedges, mirror as necessary.
As I wanted 13 sections in total, I mirrored 1 > 2 > 4 on one side and 1 > 2 > 4 > 8 on the other. Together with the original, this produced the required total of 13 sections. Select all objects and apply Object | Weld. This pic shows the result after the weld op – note where the joins are.  

What’s just been described is a basic overview of this particular approach – here are some other options.
a) Instead of creating the main object first, create the 2 ‘hole cylinders’ first, then move them into the correct positions, alter diameters etc – and afterwards, create the main object around them.
b) Rather than creating the holes in the faces of the segments, it’s also possible to create the holes such that the hole centre lines align with the edges forming the segment (where the ‘mirror’ faces were in the tut.  More care will be needed with this approach as the wedge will have 2 sets of semicircular ‘holes’ If you leave an edgeloop around the middle of the wedge, then the final object will end up ‘lobed’, rather than circular.
c) This method can be used to’drill’ holes of any shape / complexity thro’ the thickness of an object similar to that shown here. All that is required is to ensure that the relevant faces used in the bridging operations have matching numbers of verts / edges.
d) If the cylinders aren’t the same length as the wedge width, it doesn’t really matter – the whole procedure still works, but you’ll have to do some Flatten > Y, RMB ops on the upper and/or lower wedge faces to re-align stuff.
1) Create a suitable object (with appropriate number of sections) for accepting 2  rows of holes. Use whatever method (of many) you prefer for this – depending on whether specific sizes are required etc. I wanted 2 x 13 rows of holes, so created a 13 sided cylinder and then :

Select end faces (select one, press I (select similar)
Scale uniform > 800%
Face | Inset > 30%
Face | Inset > 40%
Face | Bridge.

Note that the centreline of one of the cylinders’ segments is aligned to an axis – even though the cylinder has an odd (and prime, here) number of segments.
2) Create a cylinder (this will become a hole) of the required complexity – a 6 sided one here. If necessary, rotate this new cylinder so that one of its edges is parallel to the edge on the main object which is aligned to an axis (X axis here)
After rotating / aligning the central cylinder, create a duplicate in the same position (Object | Duplicate, hold shift to constrain movement to zero)
3) Select one of the objects and use Move | X to place it inside the outer face of the main object. If in needs to be a particular distance from the origin – use appropriate means to accomplish this (constraints / Tab input / Move Absolute etc)
4) Repeat for the second cylinder - I also used Scale | Radial so’s it’d ‘fit’ inside the destination face.
5) Select the 2 edgeloops associated with this segment of the object (select single edge either side, press L for whole loop) and then apply Edge | LoopCut to separate the segment from the whole – Delete / hide the unwanted (major) portion.
6) At this stage, all 3 objects should be the same height (Y dimension) – with the 2 cylinders essentially ‘hidden’ inside the wedge. To make life easier from here, opening Window | Geometry Graph (if not already open) will help.
Select both (hex) cylinders and apply Object | Invert – which’ll invert their normals, essentially turning them ‘inside out’. I’ve also changed the wedge display option to wireframe, so the cyl. status is now visible.
7) Select all 8 edges shown
8) Apply Edge | Cut > 2 (press 2 with default key setup) to place new verts at the mid points of these 8 edges. This operation is essential to equalise the vert / edge count fr the upper and lower faces of the wedge for the forthcoming bridge operation.
Example 2
Using Face | Bridge with inverted objects to create holes thro’ models.
Whilst there’s nothing particularly new about these approaches, I thought a page with some examples might be of use / interest.

Multiple hole situations are often associated with constructing ‘wedges’ of the correct angle, and then mirroring (or duplicating in some other way) to form the complete object

Other suggestions / methods may get added 'as and when' :)