Das geht sogar mit \newcommand -- z.B. mit dem pgfkeys-Paket, das von tikz bereits geladen wird.
Code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{math}
%%Zehner Dienes Material
\pgfkeys{/SWIZZ/side color/.initial=gray!50,
/SWIZZ/top color/.initial=gray!50,
/SWIZZ/front color/.initial=gray!50,
/SWIZZ/xshift/.initial=0,
/SWIZZ/magnification/.initial=0.15}
\newcommand*\msbzehner[1][xshift=0,magnification=0.15]{%
\pgfkeys{/SWIZZ/.cd,#1}
\pgfkeysgetvalue{/SWIZZ/magnification}{\scale}
\tikzmath{
\cos = cos(45)*\scale/2;
\lwmsb = 0.15 + (\scale-0.25)*0.1;
\zehn = \scale*10;
}
\begin{scope}[xshift=\pgfkeysvalueof{/SWIZZ/xshift}cm]
\fill[fill=\pgfkeysvalueof{/SWIZZ/front color}](0,0)--(\scale,0)--(\scale,\zehn)--(0,\zehn)--cycle;
\fill[fill=\pgfkeysvalueof{/SWIZZ/side color}](\scale,0)--(\scale+\cos,\cos)--(\scale+\cos,\zehn+\cos)--(\scale,\zehn)--cycle;
\fill[fill=\pgfkeysvalueof{/SWIZZ/top color}](0,\zehn)--(\scale,\zehn)--(\scale+\cos,\zehn+\cos)--(\cos,\zehn+\cos)--cycle;
\draw[line width = \lwmsb mm](0,0)--(\scale,0)--(\scale+\cos,\cos)--(\scale+\cos,\zehn+\cos)--(\cos,\zehn+\cos)--(0,\zehn)--cycle;
\draw[line width = \lwmsb mm](0,\zehn)--(\scale,\zehn)--(\scale+\cos,\zehn+\cos)--(\scale,\zehn)--(\scale,0);
\foreach \n in {1,...,9} {
\tikzmath{\step = \scale*\n;}
\draw[line width = \lwmsb mm](0,\step)--(\scale,\step)--(\scale+\cos,\step+\cos);
}
\end{scope}
}
\begin{document}
\begin{tikzpicture}
\msbzehner
\msbzehner[xshift=3,magnification=0.3]
\msbzehner[xshift=6,magnification=0.6]
\msbzehner[xshift=9,magnification=1, front color=blue!30, top color=red!20, side color=blue!50]
\end{tikzpicture}
\end{document}
Die Beschreibung zum pgfkeys-Paket findest Du in der pgf/tikz-Doku unter "Key Management".
Guten Rutsch
Lesezeichen