Parametric clock face (in CadQuery2)

Clock face for use with comonly available clock mechanism kits (CadQuery 2 parametric model)
13
153
0
653
updated April 18, 2022

Description

PDF

What is this

CadQuery script that generates a clock face for use with comonly available clock mechanism kits. (You have to bring your own clock hands: they should be part of the kit.)

The model is designed for two-color printing with manual filament change in mind: all the markings raise above the surface of the clock (height is configurable).

Parameters of the model

Parameters are part of the source code, stored at the start. Just edit them manually (I don't think there's a standardized “customizer”-like interface for CadQuery), names should be self-explanatory.

Inputs

  • clock face diameter and thickness
  • central hole diameter (and its counterbore diameter/depth)
  • type of numerals (roman, arabic or none)
    • if the numerals should be rotated or erect
  • size of all elements (outer annulus, numerals ring, inner annulus)
    • line widths
    • line heights (how much raised above the dial)
    • how much thicker are the hour marks
  • position of all elements (expressed as offset from the edge / previous element)
  • presence of hour and minute markings at both annuli
  • font and style used to draw the numerals
  • size of the bottom chamfer (makes clean removal of brim easier: important if printed in ABS)

Outputs

The script generates two models: the clock face and a test piece. Use the test piece to verify your color change setup and check that you can properly print the numerals.

Defaults / What's in the photo

The font is Oranienbaum from Google Fonts. It was printed in eSun ABS+ Natural (the white disc) and eSun ASA Black (markings).

thickness = 4
radius = 105
markings_thickness = 0.8
annuli_line_width = 1.4
hour_mark_mult = 3

outer_annulus_marked = False
outer_annulus_offset = 2
outer_annulus_width = 1.4

numerals = "roman" # roman, arabic, none
numerals_rotated = True
numerals_offset = 4
numerals_size = 23
numerals_font = "Oranienbaum"

numerals_font_kind = "regular" # regular, italic, bold

inner_annulus_marked = True
inner_annulus_offset = 4
inner_annulus_width = 6

central_hole_dia = 7.8
central_hole_cbore_dia = 15
central_hole_cbore_depth = 2

bottom_chamfer = 0.4

I tried to use the octogram spiral infill for the top layer to make it prettier, but the result is not as even as I would like; I recommend monotonic infill instead.

Troubleshooting

Check your slicer preview before printing. Check numerals or other markings sit directly on top of the dial (see below for explanation.)

The script was tested with (and probably requires) a recent version of CadQuery2: the current stable version of CQ-editor (v0.2) is too old, use nightly.

CadQuery has issues with self-intersecting geometry. This happens when using some fonts: the lines of the type are intersecting instead of cleanly delimiting the outline. This makes CQ unable to properly determine what's inside and outside. Usual result is numerals floating above the clock face dial, parts missing etc. If this happens, you have to use different font.

Tags



Model origin

The author hasn't provided the model origin yet.

License