\begin{scope}[%
  every node/.style={regular polygon, regular polygon sides=6,
    minimum width=1cm,
    outer sep=0},
  2cell/.style={fill, red!70!black, scale=0.8},
  1cell/.style={draw, red!70!black, very thick},
  0cell/.style={circle, inner sep=0, minimum width=5pt,
    fill = red!70!black, draw = white, thick},
    transform shape]
  \draw (-1.6cm,-1.6cm) rectangle (1.6cm,1.6cm);
  \clip (-1.5cm,-1.5cm) rectangle (1.5cm,1.5cm);
  \node (A)                                  {};
  \node[anchor=corner 3] (B) at (A.corner 1) {};
  \node[anchor=corner 4] (C) at (A.corner 2) {};
  \node[anchor=corner 5] (D) at (A.corner 3) {};
  \node[anchor=corner 6] (E) at (A.corner 4) {};
  \node[anchor=corner 1] (F) at (A.corner 5) {};
  \node[anchor=corner 2] (G) at (A.corner 6) {};
  \node[anchor=corner 3] (H) at (G.corner 1) {};
  \node[anchor=corner 3] (I) at (B.corner 1) {};
  \node[anchor=corner 3] (J) at (C.corner 1) {};
  \node[anchor=corner 4] (K) at (C.corner 2) {};
  \node[anchor=corner 5] (L) at (C.corner 3) {};
  \node[anchor=corner 5] (M) at (D.corner 3) {};
  \node[anchor=corner 1] (N) at (D.corner 3) {};
  \node[anchor=corner 1] (O) at (E.corner 3) {};
  \node[anchor=corner 1] (P) at (F.corner 3) {};
  \node[anchor=corner 2] (Q) at (F.corner 4) {};
  \node[anchor=corner 3] (R) at (F.corner 5) {};
  \node[anchor=corner 3] (S) at (G.corner 5) {};
  \node[anchor=corner 3] (T) at (J.corner 1) {};
  \node[anchor=corner 6] (U) at (L.corner 2) {};
  \node[anchor=corner 1] (V) at (P.corner 3) {};
  \node[anchor=corner 2] (W) at (R.corner 6) {};

  \begin{scope}[%
    2cell/.style={fill, black!20, scale=0.8},
    1cell/.style={draw, black!20, very thick, shorten <=1pt, shorten >=1pt},
    0cell/.style={circle, inner sep=0, minimum width=5pt,
      fill = black!20, draw = white, thick},
      transform shape]
    \foreach \nd in {A,...,W}{
      \node[2cell] (b\nd) at (\nd) {};
    }
    \foreach \nd in {A,...,W}{
      \draw[1cell] (\nd.corner 6) -- (\nd.corner 1) -- (\nd.corner 2) -- (\nd.corner 3);
    }
    \foreach \nd in {A,...,W}{
      \foreach \cn in {1,2,3}
      \node[0cell] (c\nd\cn) at (\nd.corner \cn) {};
    }
  \end{scope}
