A = Intersect(xAxis, yAxis)
ControlTamañoAgujero = Point(xAxis)
c = Circle(A, ControlTamañoAgujero)
C = Point(Ray[A, Vector[(0, 0, 1)]])
D = Point(Ray[A, Vector[(0, 0, -1)]])
a = Plane(C, xOyPlane)
b = Plane(D, xOyPlane)
f = Line(C, xAxis)
ControlTamañoObjeto = Point(f)
d = Circle(zAxis, ControlTamañoObjeto)
e = InfiniteCone(A, C, Angle[C, A, ControlTamañoObjeto])
g = IntersectPath(b, e)
h, k, i = Cone(D, A, Radius[g])
j, p, l = Cone(C, A, Segment[C, ControlTamañoObjeto])
m = InfiniteCone(C, A, Angle[ControlTamañoAgujero, C, A])
q = IntersectPath(b, m)
n, r, o = Cone(q, Segment[D, C])
s = Line(C, ControlTamañoAgujero)
B, E = Intersect(s, i)
t = Circle(zAxis, B)
u = Plane(A, xOyPlane)