plotopts={Frame->True, BaseStyle->{FontSize->15}, ImageSize->400};
SetOptions[{Plot, ListPlot}, plotopts];

Data

vp=3{1,-.5,0};

pos[d_]:=d[[1;;3]];
ex[d_]:=d[[4;;6]];
ey[d_]:=d[[7;;9]];
ez[d_]:=d[[10;;12]];
sc=0.2;
evec[d_, ef_]:=Arrow[{pos[d], pos[d]+sc ef[d]}];
axes[d_,ef_, color_] := Graphics3D[{Arrowheads[Small],color}~Join~(evec[#,ef]&/@d)];

allaxes[d_]:=Show[axes[d,ex, Red], axes[d,ey,Green], axes[d,ez,Blue], Axes->True, AxesLabel->{"X", "Y", "Z"}, BaseStyle->{FontSize->15}, ImageSize->400, ViewPoint->vp];

rdat=Import[NotebookDirectory[]<>"reference_frame.dat", "Table"];
edat=Import[NotebookDirectory[]<>"element_frame.dat", "Table"];
Row[{allaxes[rdat], allaxes[edat],Show[ allaxes[edat], allaxes[rdat]]}]

Lat3D[dat_]:=Module[{ldat, slice,boxes},
ldat=Transpose[Partition[dat,Length[dat]/4]];
Print[ldat[[1]]];
slice[j_]:=Table[ldat[[j,i]], {i,1,4}];
boxes = Table[ Hexahedron[Join[slice[i], slice[i+1]]], {i,1,Length[ldat]-1}];
Graphics3D[boxes,AxesLabel->{"X", "Y", "Z"}, ImageSize->400, ViewPoint->vp]
];

rboxdat=Import[NotebookDirectory[]<>"reference_boxes.dat", "Table"][[2;;,1;;3]];
eboxdat=Import[NotebookDirectory[]<>"element_boxes.dat", "Table"][[2;;,1;;3]];
Lat3D[rboxdat]

Row[{ Lat3D[rboxdat],Lat3D[eboxdat],  Show[ Lat3D[rboxdat],Lat3D[eboxdat]] }]