\begin{tikzpicture}%
    	[x={(240:2cm)},
    	y={(0:2cm)},
    	z={(120:2cm)},
        scale=0.3,
        every node/.append style={circle,draw=black,fill=white,inner sep=1.8pt,align=center},
        boundary style one/.style={->, orange, ultra thick},
        boundary style two/.style={->, bluishgreen, ultra thick},
        boundary style three/.style={->, skyblue, ultra thick},
        ]

    % Modify these parameters to determine the size of the graph:
    \def\kone{1}
    \def\ktwo{2}
    \def\kthree{3}

    %FUNDAMENTAL TILE:
    \foreach \a in {0,...,\kone}{
        \foreach \b in {0,...,\ktwo}{
            \foreach \c in {0,...,\kthree}{
                \begin{scope}[shift={($\a*(3,0,0)+\b*(0,3,0)+\c*(0,0,3)$)}]
                    \node (\a\b\c 123) at (1,2,3) {};
                    \node (\a\b\c 213) at (2,1,3) {};
                    \node (\a\b\c 132) at (1,3,2) {};
                    \node (\a\b\c 231) at (2,3,1) {};
                    \node (\a\b\c 312) at (3,1,2) {};
                    \node (\a\b\c 321) at (3,2,1) {};
                
                    % \draw[blue] (123) -- (213) -- (312) -- (321) -- (231) -- (132) -- (123);      
                    \draw[blue] (\a\b\c 213) -- (\a\b\c 123) -- (\a\b\c 132) -- (\a\b\c 231);      
                \end{scope}
            }
        }    
    }    


    %BOUNDARY: 
    %Boundary edges one
    \begin{scope}[shift={($\kthree*(0,0,3)$)}]
    \draw[boundary style one] (2,1,3) -- (3,1,2);
    \foreach \i in {1,...,\kone}{
        \begin{scope}[shift={($\i*(3,0,0)$)}]
                \draw[boundary style one] (1,2,3) -- (2,1,3) -- (3,1,2);
        \end{scope}
        }        
    \end{scope}
    %
    \begin{scope}[shift={(${\ktwo+1}*(0,3,0)$)}]
    \draw[boundary style one] (2,1,3) -- (3,1,2);
    \foreach \i in {1,...,\kone}{
        \begin{scope}[shift={($\i*(3,0,0)$)}]
                \draw[boundary style one] (1,2,3) -- (2,1,3) -- (3,1,2);
        \end{scope}
        }        
    \end{scope}
    %%%

    %Boundary edges two
    \begin{scope}[shift={($\kone*(3,0,0)$)}]
    \draw[boundary style two] (3,2,1) -- (2,3,1);
    \foreach \i in {1,...,\ktwo}{
        \begin{scope}[shift={($\i*(0,3,0)$)}]
                \draw[boundary style two] (3,1,2) -- (3,2,1) -- (2,3,1);
        \end{scope}
        }        
    \end{scope}
    %
    \begin{scope}[shift={(${\kthree+1}*(0,0,3)$)}]
    \draw[boundary style two] (3,2,1) -- (2,3,1);
    \foreach \i in {1,...,\ktwo}{
        \begin{scope}[shift={($\i*(0,3,0)$)}]
                \draw[boundary style two] (3,1,2) -- (3,2,1) -- (2,3,1);
        \end{scope}
        }        
    \end{scope}
    %%%

    %Boundary edges three
    \begin{scope}[shift={($\ktwo*(0,3,0)$)}]
    \draw[boundary style three] (1,3,2) -- (1,2,3);
    \foreach \i in {1,...,\kthree}{
        \begin{scope}[shift={($\i*(0,0,3)$)}]
                \draw[boundary style three] (2,3,1) -- (1,3,2) -- (1,2,3);
        \end{scope}
        }        
    \end{scope}
    %
    \begin{scope}[shift={(${\kone+1}*(3,0,0)$)}]
    \draw[boundary style three] (1,3,2) -- (1,2,3);
    \foreach \i in {1,...,\kthree}{
        \begin{scope}[shift={($\i*(0,0,3)$)}]
                \draw[boundary style three] (2,3,1) -- (1,3,2) -- (1,2,3);
        \end{scope}
        }        
    \end{scope}
    %%%
\end{tikzpicture}