As part of another project, I found myself in need of a funnel shape as well as a cylindrical coupling in OpenSCAD. Now, the straight forward approach would be to make a first-order approximation using a cylinder with two different radii to create a cone. While this solution would surely work for most cases, it is not as aesthetically pleasing as the real things, at least in my mind. As I couldn’t find any existing reference designs online, I decided to make and share a solution. The modules can be found on my GitHub: https://github.com/alexbirklykke/openscad
Both solutions use the
rotate_extrude function in OpenSCAD, which takes a 2D polygon and rotates it around the z-axis. For the funnel I used a 2D version of the funnel surface function and for the coupling I used a selection of sigmoid functions. In both cases, the modules behave like the native cylinder module, but with additional
slice parameters that control the contour and number of polygon points of the drawn objects. For the cylindrical coupling it is also possible to choose between different sigmoid kernels (the standard sigmoid function, tanh, linear, and two other algebraic sigmoids) to tweak the contour even further.