Using a translated point in the definition of a Cylinder does not work.
point= Translate[Point[{0, 0, 0}], {100, 0, 0}]; cylinder= Cylinder[{{0, 0, 0}, point}, 5]; Graphics3D[ {point, cylinder} ]
point plots but cylinder gives an error.
This change solves the problem:
stick = Cylinder[{{0, 0, 0}, First@stickTop}, 5]
I doubt that Cylinder accepts Point primitives as specifications. You must extract the coordinate triple and feed those to Cylinder:
Cylinder
Point
point = Translate[Point[{0, 0, 0}], {100, 0, 0}]; cylinder = Cylinder[{{0, 0, 0}, point // Normal // First}, 5]; Graphics3D[{point, cylinder}]