Another proof of concept along the way to a WORKING printable clock. A working clock would, for example, have a case. :-)
Aside from such petty concerns, this clock is complete, in that we have a power source (a drum to wind a string and weight), a whole gear train (5/3/2/2/5/3/2/2), a Graham escapement, a (token) pendulum and three hands mounted on concentric shafts to show the time.
It is fully parametric, animate-able, and about as modular as I could make it within the current constraints of OpenSCAD (recursion would be nice for the eight gears in the gear train!).
The code uses three different types of gear wheels, each able to support any level of nested concentric shafts if needed for support or to run clock hands:
It also automatically positions them relative to each other, ensures that they mesh properly and rotates them according to the correct gear ratios to support animation and to check the design.
It uses the involute gear script from the MCAD library, and my own escapement library. I intend to move as much of the script into another library at some later date, and like in some of my previous scripts, to provide both the current assembled() module and a handy laidOutToPrint() module.
Lastly, the modular nature of this PoC should allow for separate tweaking of the various components of the clock until they all work, without having to print an entire clock every time.
(EDIT: fixed a bug, kindly pointed out by DaveD, and uploaded a fixed version of the OpenSCAD script, along with an exploded version of the STL and a JPEG of same.)
Clock-53225322-Assembled-fixed.scad | 14.4KB | |
Clock-53225322-Assembled.scad | 14.8KB | |
Clock-53225322-Assembled.stl | 3.7MB | |
Clock-53225322-Exploded.stl | 3.9MB |