The following code fails:
import cadquery as cq
sphere_r = 10.
result = (cq.Workplane("XY").sphere(sphere_r)
.workplane(centerOption="ProjectedOrigin").circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").transformed(rotate=(90, 0, 0))
.circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").transformed(rotate=(0, 90, 0))
.circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").circle(sphere_r / 2.).extrude(sphere_r + 2, both=True))
perturbaing one of the angles makes it work
import cadquery as cq
sphere_r = 10.
result = (cq.Workplane("XY").sphere(sphere_r)
.workplane(centerOption="ProjectedOrigin").circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").transformed(rotate=(90, 0, 0))
.circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").transformed(rotate=(0, 89.9, 0))
.circle(sphere_r / 2.).cutThruAll()
.workplane(centerOption="ProjectedOrigin").circle(sphere_r / 2.).extrude(sphere_r + 2, both=True))
show_object(result)
The following code fails:
perturbaing one of the angles makes it work