[pstricks] \psstring and FPeval

mathias legrand legrand.mathias at gmail.com
Sun Apr 11 16:59:09 CEST 2010


Hi all,

I just created something like a mechanical spring with pstricks and 
FPeval. IT is pretty bad and
I would like to know how to code the same in postscript (with \psVerb 
maybe).

Thank you

\newcommand*\psstring[3]{% nb zigzag, length, width
\FPeval{nbR}{#1}
\FPeval{LR}{#2}
\FPeval{lR}{#3}
\FPeval{nbS}{4*\nbR+4}
\FPeval{LeR}{\LR/\nbS}
\FPeval{leR}{\lR/2}
\FPeval{II}{\LR-4*\LeR}
\FPeval{deR}{\LR-\LeR}
\FPeval{deRR}{\LR-3*\LeR}
\FPeval{feR}{\LR+0.2}
\psline[linewidth=1pt]{cc-cc}(-0.2,0)(0,0) % beginning
\psline[linewidth=1pt]{cc-cc}(0,0)(\LeR,\leR) % beginning
\psline[linewidth=1pt]{cc-cc}(\deRR,\leR)(\deR,-\leR) % end
\psline[linewidth=1pt]{cc-cc}(\deR,-\leR)(\LR,0)(\feR,0) % end
\FPeval{dR}{\II/\nbR}
\multido{\i=1+1}{\nbR}{%
\FPeval{aA}{\dR*(\i-1)+\LeR}
\FPeval{aB}{\aA+2*\LeR}
\FPeval{aC}{\aB+2*\LeR}
\psline[linewidth=1pt]{cc-cc}(\aA,\leR)(\aB,-\leR)%
\psline[linewidth=1pt]{cc-cc}(\aB,-\leR)(\aC,\leR)
}
}
\begin{pspicture}(0,-2)(8,2)
\psstring{5}{2}{0.5}
\rput{90}(5,-2){\psstring{10}{3}{1}}
\end{pspicture}


More information about the PSTricks mailing list