Originally I used a program to generate a shell but I found that this wasn't as versatile or predictable as I would like.
I designed the shell macro as a replacement for this program. It is more flexible but remains just as unpredictable.
The shell macro uses a loop to repeatedly add objects onto the shell, each object being bigger and in a different position than the last, just as a spiral shell would be formed in real life.
Another macro is supplied with the shell macro which calculates the shape needed to form a smooth shell when used as the object for a particular set of parameters.