Skip to content

Instantly share code, notes, and snippets.

@ridercz
Created October 2, 2021 12:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ridercz/be86db5168b0d732f421faa83c8feaaa to your computer and use it in GitHub Desktop.
Save ridercz/be86db5168b0d732f421faa83c8feaaa to your computer and use it in GitHub Desktop.
Generování přívěšků s čísly
/* [Tag options] */
diameter = 30;
thickness = 2;
extrusion = 1;
rim_width = 1.67;
hole_diameter = 4;
/* [Plater options] */
tag_start_number = 1;
tag_rows = 6;
tag_cols = 6;
/* [Hidden] */
$fn = 64;
// Render whole plater of sequentially numbered tags
for(r = [0 : tag_rows - 1], c = [0 : tag_cols - 1]) {
number = tag_start_number + r * tag_cols + c;
translate([c * diameter * 1.1 + diameter / 2, r * diameter * 1.1 + diameter / 2]) single_tag(number);
}
module single_tag(number) {
// Base
linear_extrude(thickness) difference() {
circle(d = diameter);
translate([0, diameter / 2 - hole_diameter]) circle(d = hole_diameter, $fn = 32);
}
// Extrusion
linear_extrude(thickness + extrusion) {
// Rim
difference() {
circle(d = diameter);
circle(d = diameter - 2 * rim_width);
}
// Number
text(text = str(number), font = "Arial:bold", size = diameter / 3, halign = "center", valign = "center", $fn = 32);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment