\makeatletter \pgfdeclareshape{stop}{% \savedanchor{\upperrightcorner}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@x=0.5\pgf@xa \pgf@y=0.5\pgf@ya } \savedanchor{\lowerleftcorner}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@x=-0.5\pgf@xa \pgf@y=-0.5\pgf@ya } \anchor{center}{\pgfpointorigin} % \anchor{center}{\centerpoint} \anchor{north east}{% \upperrightcorner% } \anchor{north}{% \upperrightcorner% \pgf@x=0pt } \anchor{south east}{% \upperrightcorner% \pgf@y=-\pgf@y } \anchor{south west}{% \lowerleftcorner% } \anchor{south}{% \lowerleftcorner% \pgf@x=0pt } \anchor{north west}{% \upperrightcorner% \pgf@x=-\pgf@x } \anchor{west}{% \lowerleftcorner% \pgf@y=0pt } \anchor{east}{% \upperrightcorner% \pgf@y=0pt } \savedanchor{\outerfirstcentersecond}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} % \divide\pgf@xa by 3 % \divide\pgf@xa by 2 \pgf@x=-.5\pgf@xa \advance\pgf@x by .5\pgf@ya \pgf@y=\pgf@ya } \anchor{one half}{ \outerfirstcentersecond \pgf@y=0pt } \anchor{two half}{ \outerfirstcentersecond \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north one half}{ \outerfirstcentersecond } \anchor{north two half}{ \outerfirstcentersecond \pgf@x=-\pgf@x } \anchor{south one half}{ \outerfirstcentersecond \pgf@y=-\pgf@y } \anchor{south two half}{ \outerfirstcentersecond \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \savedanchor{\outerfirstquarter}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@y=\pgf@ya \pgf@x=-.5\pgf@xa % We are at (shape.north west) now \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now \advance\pgf@x by \pgf@ya } \anchor{two quarter}{ \outerfirstquarter \pgf@y=0pt } \anchor{three quarter}{ \outerfirstquarter \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north two quarter}{ \outerfirstquarter } \anchor{south two quarter}{ \outerfirstquarter \pgf@y=-\pgf@y } \anchor{north three quarter}{ \outerfirstquarter \pgf@x=-\pgf@x } \anchor{south three quarter}{ \outerfirstquarter \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \savedanchor{\outerthirdsixth}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@y=\pgf@ya \pgf@x=-.5\pgf@xa % We are at (shape.north west) now % \multiply\pgf@ya by 2 \advance\pgf@x by 2.5\pgf@ya % We are at (shape.north one half) now } \anchor{three sixth}{ \outerthirdsixth \pgf@y=0pt } \anchor{four sixth}{ \outerthirdsixth \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north three sixth}{ \outerthirdsixth } \anchor{south three sixth}{ \outerthirdsixth \pgf@y=-\pgf@y } \anchor{north four sixth}{ \outerthirdsixth \pgf@x=-\pgf@x } \anchor{south four sixth}{ \ \pgf@x=-\pgf@x \pgf@y=-\pgf@y } % Added only the minimal eighth anchor \savedanchor{\outerfourtheighth}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@y=\pgf@ya \pgf@x=-.5\pgf@xa % We are at (shape.north west) now \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now \advance\pgf@x by 3\pgf@ya } \anchor{four eighth}{ \outerfourtheighth \pgf@y=0pt } \anchor{five eighth}{ \outerfourtheighth \pgf@x=-\pgf@x \pgf@y=0pt } % Added only the minimal tenth anchor \savedanchor{\outerfifthtenth}{ \setlength{\pgf@xa}{\pgfshapeminwidth} \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@y=\pgf@ya \pgf@x=-.5\pgf@xa % We are at (shape.north west) now \advance\pgf@x by .5\pgf@ya % We are at (shape.north one half) now \advance\pgf@x by 4\pgf@ya } \anchor{five tenth}{ \outerfifthtenth \pgf@y=0pt } \anchor{six tenth}{ \outerfifthtenth \pgf@x=-\pgf@x \pgf@y=0pt } \savedanchor{\outertop}{ \setlength{\pgf@ya}{\pgfshapeminheight} \pgf@x=0pt \pgf@y=1\pgf@ya } \anchor{north center}{ \outertop } \anchor{south center}{ \outertop \pgf@y=-\pgf@y } \backgroundpath{ \pgfpathrectanglecorners{\lowerleftcorner}{\upperrightcorner} } } \makeatother \tikzset{ stop/.style={ shape=stop, color=black!30, draw, fill=yellow!30, rounded corners=1cm, minimum height=2cm, }, stop1/.style={ stop, minimum width=2cm, }, stop2/.style={ stop, minimum width=4cm, }, stop3/.style={ stop, minimum width=6cm, }, stop4/.style={ stop, minimum width=8cm, }, stop5/.style={ stop, minimum width=10cm, }, stop6/.style={ stop, minimum width=12cm, }, stop7/.style={ stop, minimum width=14cm, }, stop8/.style={ stop, minimum width=16cm, }, stop9/.style={ stop, minimum width=18cm, }, stop10/.style={ stop, minimum width=20cm, }, }