Si j'ai bien compris, compris la question, voici un code qui compile.
compile :
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usepackage{xkeyval}
\newcount\n
\makeatletter
%----------> \CrayonGris <----------
\definecolor{wood}{cmyk}{0.00,0.12,0.35,0.05}
\define@cmdkey [DES] {CrayonGris} {inclinaison}{}
\define@cmdkey [DES] {CrayonGris} {mine}{}
\define@cmdkey [DES] {CrayonGris} {corps}{}
\define@cmdkey [DES] {CrayonGris} {couleur}{}
\define@cmdkey [DES] {CrayonGris} {xscale}{}
\define@cmdkey [DES] {CrayonGris} {yscale}{}
\define@boolkey [DES] {CrayonGris} {bague}[true]{}
\define@boolkey [DES] {CrayonGris} {orientation}[true]{}
\presetkeys [DES] {CrayonGris} {inclinaison = 0, mine = red, corps = blue, couleur = wood, xscale=1, yscale=1}{}
%
\newcommand{\CrayonGris}[2][]{%
\setkeys[DES]{CrayonGris}{#1}
\begin{scope}[shift={(#2)},rotate=\cmdDES@CrayonGris@inclinaison, xscale=\cmdDES@CrayonGris@xscale, yscale=\cmdDES@CrayonGris@yscale]
% Pointe ouverte
\draw[fill=\cmdDES@CrayonGris@couleur] (-0.3,0.6) -- (0,0) -- (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1);
% Mine
\draw[fill=\cmdDES@CrayonGris@mine] (-0.1,0.2) -- (0.1,0.2) -- (0,0) -- cycle;
% Corps du crayon
\draw[fill=\cmdDES@CrayonGris@corps] (0.3,0.6) arc(-90:-180:0.1) arc(0:-180:0.1) arc(0:-180:0.1) arc(0:-90:0.1) -- (-0.3,6) -- (0.3,6) -- cycle;
% Traits verticaux
\draw (-0.2,6) -- (-0.2,0.65) (0,6) -- (0,0.65) (0.2,6) -- (0.2,0.65);
% Bague
\ifDES@CrayonGris@bague
\draw[fill=gray!20,opacity=0.5] (-0.4,1.5)rectangle(0.4,2.5);
% Vis
\ifDES@CrayonGris@orientation
\n = 1
\draw (1,1) node{A};
\else
\n = -1
\draw(-1,-1) node{B};
\fi
\draw[fill=gray!20] (0.4*\n,1.9)--(0.6*\n,1.9)--(0.6*\n,1.8)--(0.8*\n,1.8)--(0.8*\n,2.2)--(0.6*\n,2.2)--(0.6*\n,2.1)--(0.4*\n,2.1)--cycle;
%\draw[fill=gray!20] (0.4,1.9)--(0.6,1.9)--(0.6,1.8)--(0.8,1.8)--(0.8,2.2)--(0.6,2.2)--(0.6,2.1)--(0.4,2.1)--cycle;
\fi
\end{scope}
}
\makeatother
\begin{document}
\section*{Crayon gris avec bague et vis}
\begin{tikzpicture}
\CrayonGris{0,0}
\CrayonGris[inclinaison=60,corps=gray,mine=black,couleur=white,xscale=1,yscale=1]{0,0}
\CrayonGris[inclinaison=-80,corps=orange,mine=yellow,couleur=white,xscale=1.5,yscale=.75]{0,0}
\end{tikzpicture}
\begin{tikzpicture}
\CrayonGris[bague=true,orientation=false,inclinaison=-90,corps=red,xscale=2,yscale=1.5]{0,0}
\CrayonGris[bague=true,orientation=true,corps=green]{0,0}
\CrayonGris[bague=false,orientation=true,corps=white,inclinaison=90]{0,0}
\CrayonGris[bague=false,orientation=true,inclinaison=180]{0,0}
\end{tikzpicture}
\end{document}
**Remarque** : vous pouvez utiliser `\def\n{1}` et `\def\n{-1}` si vous voulez.