%% 
%%  Ein Beispiel der DANTE-Edition
%%  
%%  7. Auflage
%% 
%%  Beispiel 22-01-18 auf Seite 363.
%% 
%%  Copyright (C) 2016 Herbert Voss
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 
%% 
%% ==== 
% Show page(s) 1
%% 
%% 
\documentclass[]{exaarticle}
\pagestyle{empty}
\setlength\textwidth{145.16928pt}
\setlength\parindent{0pt}
\usepackage{pst-3d}
\makeatletter
\def\xyEbene#1{%
  \ThreeDput[normal=0 0 1](0,0,0){% xy-Ebene
    \psgrid(0,0)(#1,#1)%
    \psline{->}(0,0)(0,#1) \psline{->}(0,0)(#1,0)
    \ifdim\psk@gridlabels pt>\z@
      \uput[180]{0.2}(0,#1){$y$} \uput[-90]{0.2}(#1,0){$x$}%
    \fi
  }}
\def\xzEbene#1{%
  \ThreeDput[normal=0 -1 0](0,0,0){% xz-Ebene
    \psgrid(0,0)(#1,#1)%
    \psline{->}(0,0)(0,5) \psline{->}(0,0)(#1,0)
    \ifdim\psk@gridlabels pt>\z@
      \uput[180]{0.2}(0,#1){$z$} \uput[-90]{0.2}(#1,0){$x$}%
    \fi
  }}
\def\yzEbene#1{%
  \ThreeDput[normal=1 0 0](0,0,0){% yz-Ebene
    \psgrid(0,0)(#1,#1)%
    \psline{->}(0,0)(0,#1) \psline{->}(0,0)(#1,0)
    \ifdim\psk@gridlabels pt>\z@
      \uput[180]{0.2}(0,#1){$z$} \uput[-90]{0.2}(#1,0){$y$}%
    \fi
}}
%
\def\DreiDKOSystem{\@ifnextchar[{\DreiDKOSystem@i}{\DreiDKOSystem@i[]}}
\def\DreiDKOSystem@i[#1]#2{{%
  \psset{#1}%
  \xyEbene{#2}\xzEbene{#2}\yzEbene{#2}}}
\makeatother
%StartShownPreambleCommands
\usepackage{pst-3d,multido}
%StopShownPreambleCommands
\begin{document}
\begin{pspicture}(0,-0.75)(5,4.5)
\psset{viewpoint=1 -1 0.75}
\DreiDKOSystem[subgriddiv=0,gridcolor=black!50]{5}
\ThreeDput{\psframe*[linecolor=gray!20](3,3)}
\ThreeDput(1.5,1.5,0){\Huge Unten}
\ThreeDput(0,0,1.5){\psframe*[linecolor=gray!25](3,3)}
\ThreeDput(1.5,1.5,1.5){\Huge Mitte}
\ThreeDput(0,0,3){\psframe*[linecolor=gray!15](3,3)}
\ThreeDput(1.5,1.5,3){\Huge Oben}
{\psset{subgriddiv=0,gridcolor=black!50}\xzEbene{5}}
\ThreeDput(4,4,0){%
  \psframe*[linecolor=gray!5](-1,-1)(1,1)}
\ThreeDput(4,4,0){\psdot[dotscale=3]}
\end{pspicture}
\end{document}
