Why am I seeing a Cone instead of a bicone?

Clear["Global`"]
(
Bicone properties *)
r = 1;
orig = {x1, y1, z1};
vertex1 = {x2, y2, z2};
vertex2 = {x2, y2, -z2};
cone1 = Cone[{orig, vertex1}, r];
cone2 = Cone[{orig, vertex2}, r];
bicone = {cone1, cone2};
Graphics3D[bicone] /. {orig → {0, 0, 0}, vertex1 → {0, 0, 1},
vertex2 → {0, 0, 1}}

I see just a cone instead of a bicone although in vertex2 the z-coordinate is negative. The result is the same either I apply the rule inside or outside of Graphics3D.

Packing with cones.nb (83.6 KB)

The variables x1,y1,z1,x2,y2,z2 are never addressed.

ommit x1,y1,z1,x2,y2,z2:

r = 1;
cone1 = Cone[{orig, vertex1}, r];
cone2 = Cone[{orig, vertex2}, r];
bicone = {cone1, cone2};
Graphics3D[bicone, PlotRange -> All] /. {orig -> {0, 0, 0}, 
  vertex1 -> {0, 0, 1}, vertex2 -> {0, 0, -1}}

or address x1,y1,z1,x2,y2,z2 directly:

r = 1;
orig = {x1, y1, z1};
vertex1 = {x2, y2, z2};
vertex2 = {x2, y2, -z2};
cone1 = Cone[{orig, vertex1}, r];
cone2 = Cone[{orig, vertex2}, r];
bicone = {cone1, cone2};
Graphics3D[bicone, PlotRange -> All] /. {x1 -> 0, y1 -> 0, z1 -> 0, 
  x2 -> 0, y2 -> 0, z2 -> 1}

The two cones are identical. Did you mean vertex2 -> {0, 0, -1}?

Thanks. Ten minutes after I sent, the tantus fell off. :wink:

Yes, that is what I was thinking. Thanks a lot.