This is almost the same as the hexagonally tiled tube. Here is the code.
(* Set xNum = 20 and yNum = 8 to generate hexes3D *)
r = .4;
torus[{t_, s_}] := {Cos[t], Sin[t], 0} + r Cos[s]{Cos[t], Sin[t], 0}
+ r Sin[s] {0, 0, 1};
hexes3D = scaledHexes /. Polygon[l_List] :> Polygon[torus /@ l];
Show[Graphics3D[hexes3D]];