This is almost the same as the hexagonally tiled tube. Here is the code.
(* Set xNum = 60 and yNum = 7 to generate hexes3D *)
crossVector = {1, 0, 0}; radius = .4;
trefoil = {Sin[3t], Sin[t] + 2Sin[2t], Cos[t] - 2Cos[2t]};
tangent = D[trefoil, t];
unitTangent = tangent/Sqrt[tangent.tangent];
normal = Cross[tangent, crossVector];
unitNormal = normal/Sqrt[normal.normal];
biNormal = Cross[unitTangent, unitNormal];
cTrefoilTube := Compile[{{t, _Real}, {s, _Real}},
trefoil + radius Cos[s] unitNormal + radius Sin[s] biNormal //
Evaluate
];
trefoilTube[{t_, s_}] := cTrefoilTube[t, s];
hexes3D = scaledHexes /. Polygon[l_List] :> Polygon[trefoilTube /@ l];
Show[Graphics3D[hexes3D], Boxed -> False, ViewPoint -> {10, 0, 0}]
The compilation speeds things up since the graphic is larger and the
function more complicated.