Block[
{r1, r2, m, h1, h2, c1, c2, m2, mc1, mc2, t1, t2, ht, cone, slope,
plane},
{r1, r2} = {1.4, 3.4};
m = Tan[70.*Degree];
h1 := r1*Sqrt[1 + m^2];
h2 := r2*Sqrt[1 + m^2];
c1 := {0, 0, h1};
c2 := {0, 0, h2};
m2 = {0, mc1 + h1};
mc2 = mc1*r2/r1;
mc1 = (r1 (h2 - h1))/(r1 + r2);
t1 = c1 + r1*{-Sqrt[1 - r1^2/mc1^2], 0, r1/mc1};
t2 = c2 + r2*{Sqrt[1 - r2^2/mc2^2], 0, -r2/mc2};
ht = 1.2*(h2 + r2);
cone[m_, h_] :=
RevolutionPlot3D[
{t, m t}, {t, 0, h/m}, Mesh -> False][[1]];
slope = (t2[[3]] - t1[[3]])/(t2[[1]] - t1[[1]]);
plane = ParametricPlot3D[
{t, u, slope*t + m2[[2]]}, {t, -2 m, 12/m}, {u, -3, 3},
Boxed -> False, Axes -> False
][[1]];
Graphics3D[{{Opacity@0.45, cone[m, 1.2*(h2 + r2)]},
{Opacity@0.5, Sphere[c1, r1], Sphere[c2, r2]},
{Opacity@0.5, plane}, PointSize@0.0175, Point[t1], Point[t2]},
Boxed -> False]
]