如何绘制面心立方晶格的网格?

How can I draw a grid of an fcc lattice?

我有一个包含面心立方晶格坐标 {x, y,z} 的文件。

In[0]: data = Import[
  "D:\AtomsDiffusion\AtomsDiffusion\bin\PositionsAtomsMathematica.\
txt", "CSV"]

Out[0]: {{0, 0, 0}, {0, 0.707, 0.707}, {0.707, 0, 0.707}, {0.707, 0.707, 
  0}, {0, 0, 1.414}, {0, 0.707, 2.121}, {0.707, 0, 2.121}, {0.707, 
  0.707, 1.414}, {0, 1.414, 0}, {0, 2.121, 0.707}, {0.707, 1.414, 
  0.707}, {0.707, 2.121, 0}, {0, 1.414, 1.414}, {0, 2.121, 
  2.121}, {0.707, 1.414, 2.121}, {0.707, 2.121, 1.414}, {1.414, 0, 
  0}, {1.414, 0.707, 0.707}, {2.121, 0, 0.707}, {2.121, 0.707, 
  0}, {1.414, 0, 1.414}, {1.414, 0.707, 2.121}, {2.121, 0, 
  2.121}, {2.121, 0.707, 1.414}, {1.414, 1.414, 0}, {1.414, 2.121, 
  0.707}, {2.121, 1.414, 0.707}, {2.121, 2.121, 0}, {1.414, 1.414, 
  1.414}, {1.414, 2.121, 2.121}, {2.121, 1.414, 2.121}, {2.121, 2.121,
   1.414}};

使用 Graphics3D 函数绘制坐标:

In[1]: Graphics3D[{Opacity[.6], Ball[#, 0.5] & /@ data}, Axes -> True]

Out:

如何绘制垂直、水平和对角线的网格线,就像这里一样? example

跟进比尔的评论

lines = Catenate@Outer[List[##] &, data, data, 1];

dist = EuclideanDistance @@@ lines;

l2 = First /@ DeleteCases[MapThread[{#1, (#2 > 0 && #2 < 1.5)} &,
     {lines, dist}], {_, False}];

Show[Graphics3D[Line /@ l2, Boxed -> False],
 Graphics3D[{Ball[#, 0.2] & /@ data}, Axes -> True]]