FoundationPartsPrimitivesHole Variants

Hole variants

Four hole variants share the same anchor convention: pass a sketch Point (typically a translated Sketch.origin) and the depth is measured along the sketch normal.

Hole(point, radius, depth)
CounterBoreHole(point, radius, depth, cbore_radius, cbore_depth)
CounterSinkHole(point, radius, depth, csink_radius, csink_angle_deg)
TappedHole(point, thread_size, depth)        # bore at radius = thread_size / 2

CounterBoreHole and CounterSinkHole desugar to a Lathe of a stepped profile with cut=true, so the bore and the recess come out as a single subtraction. TappedHole itself is just the clearance bore; the example sweeps a real helical Thread into its wall so it reads as tapped. Threads are a helical Sweep — accurate but compute-heavy — so add one explicitly only where you need the actual thread rendered.