
Adding additional functionality the Openscad template is fairly simple, first you set up the options you want for the customizer menu:

The menu will be added to the customizer:

Then you will need to add new module for creating the torus:

And then add a call to the torus module in the "all modules" module:

Now you can make a Torus:

I'm going to use the new Torus function to make a mold for making o-rings out of silicone, first I will make a circle:

Next I'm going to put each module call on it's own line, comment out the modules I want to use for the difference command and use them in difference():

What this does is it allows me to call specific modules and use the difference() instruction with them, which ever one is first will have the others subtracted from it:


Now the Torus is subtracted from the circle, and I will add a cylinder for a cone shaped fill point:

Then I can adjust things on the fly if necessary:

A tub drain plug with groove for an o-ring made with the torus module:

Finished print:
