It's a user generate-able knob to operate a stove-top hob, rather than a fully configurable biscuit — sorry!

When you move into new rented accommodation, there are all sorts of challenges that aren't obvious from the initial viewing. But one that I did know about from the offset was that my new cooker and hob were devoid of knobs to turn them on and off! “No worry,” I thought, “I'll just 3D print some at DoES Liverpool, surely there'll be some on Thingiverse that I can just print and fit.”

Cooker fittings seem to be an area where there aren't any engineering standards whatsoever so in the spirit of rapid prototyping, I printed a selection of 4 knobs to find out what things I didn't know that I didn't know about cooker knobs. As none of them fitted exactly and there wasn't one I could easily modify, I set about creating my own, and as I had 2 different fittings to design for, the easiest approach was to make it a all fully parametric model so one file could generate both the shapes I needed.

This design should fit any D-shaped shaft, so it could be used for any hob, stove, oven, grill, range, volume, potentiometer or rotary encoder knob.

• the required height of the knob from the surface (height),
• the diameter (shaft_diameter) and distance across from the flat of the D to the rounded side (D_width) of the shaft (printing clearance is added for a tight sliding fit(clearance)),
• the outer diameter of the knob (outer_diameter),
• the inner clearance diameters of any seals that it needs to clear up and over, and set the wall thickness of the knob (wall_thickness) so that $outer\_diameter - \left( wall\_thickness \times 2 \right) \ge inner\_diameter$
• the visible height of the shaft (shaft_length),
• any plunge depth (plunge_depth) if the knob centre should drop below the fascia.
• the height required for the internal structure to clear any seals (clearance_height)

You should also choose:

• the number of sides to the outside of the knob (no_sides) ­— the default is a low-polygon style 9-sided design, but 250 sided will give you a very circular knob,
• the size of any chamfer on the top (top_chamfer)

If you want a pointer to show position on a dial (with_pointer)

• the size of the pointer (point_size)
• the number of degrees clockwise that the pointer should be away from the normal direction of the flat of the D (point_angle)

Extra features:

• if you want extra features (extra_feature) such as scolops around the edge, tap-like extentions or a cutaway view
• the number of those features (number_of_features)
• the number of degrees offset anti-clockwise for those features to rotate them round into a good position (offset_angle)