\section{Naming a solid} For certain purposes, it is helpful to save a solid in working storage to allow it to be referenced later on. To do so, we activate the Boolean \Lkeyword{solidmemory}, which allows the transmission of a variable throughout the code. Consequently, activation of this Boolean deactivates drawing by the macros \Lcs{psSolid}, \Lcs{psSurface} and \Lcs{psProjection} immediate. To obtain the drawing, we use the macro \Lkeyword{\composeSolid} at the end of the code. When \verb+\psset{solidmemory}+ is set up, we can use the option \Lkeyword{name} of the macro \Lcs{psSolid}. In the example below, a coloured solid is constructed, which is named $A$. It is drawn using the object \texttt{\Lkeyword{object}=cube} with the parameter \texttt{\Lkeyword{load}=$A$}. Note that \texttt{\Lkeyword{linecolor}=blue}, used while constructing our cube, has no effect on the drawing: only the structure of the solid is stored (vertices, faces, colours of faces), not the thickness of any line, nor its colour, nor the position of the light source. The settings of those parameters are taken into account at the time the solid is rendered. Finally, we demonstrate the use of the option \Lkeyword{deactivatecolor} which allows the cube to keep its original red colour (otherwise the default colours would be used within the object \Lkeyword{load}). \psset{lightsrc=10 0 10,viewpoint=50 -20 10 rtp2xyz,Decran=50} \begin{LTXexample}[width=6.5cm] \psset{unit=0.75} \begin{pspicture*}(-4,-4)(5,4) \psset{solidmemory} \psSolid[object=cube, linecolor=blue, a=4,fillcolor=red!50, ngrid=3, action=none, name=A, ](0,0,0) \psSolid[object=load, deactivatecolor, load=A] \composeSolid \end{pspicture*} \end{LTXexample} With the option \Lkeyword{solidmemory}, the names of variables are relatively well encapsulated, and there will be no conflict with the variables of the dvips driver. There remains however the risk of a collision with the names used in the \texttt{solides.pro} file. You could use only single letter variable names, for example, and it is necessary to avoid names like \verb+vecteur+, \verb+distance+, \verb+droite+, etc. which are already defined in the package. \endinput