After putting this in MANY travel stories, I bought one for myself for a summer European vacation where I found myself at ...
This file provides functions and modules that construct shapes from a list of cross sections. In the case of skin() you specify each cross sectional shape yourself, and the number of points can vary.