Skip to content

Instantly share code, notes, and snippets.

@blakesmith
Created September 3, 2019 18:52
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 blakesmith/ce0aefa9c1fecb0128a6a0142716300f to your computer and use it in GitHub Desktop.
Save blakesmith/ce0aefa9c1fecb0128a6a0142716300f to your computer and use it in GitHub Desktop.
$fn = 100;
actual_bar_diamater = 22;
bar_diameter = actual_bar_diamater - 1;
holder_thickness = 5;
holder_outer_diameter = bar_diameter + holder_thickness;
holder_width = 25;
display_hole_diameter = 10;
tension_hole_diamater = 10;
cutout_height = 50;
union() {
holder();
display_plate();
}
module holder() {
module tension_bracket() {
difference() {
translate([(holder_outer_diameter / 2) + holder_thickness, 0, 0])
cube([bar_diameter / 1.5, bar_diameter / 4, holder_width], center=true);
}
}
module tension_hole() {
translate([holder_outer_diameter / 1.5, 0,0])
rotate([90, 0, 0])
cylinder(h=cutout_height, d=tension_hole_diamater, center=true);
}
module ring() {
difference() {
difference() {
hull() {
cylinder(h=holder_width, d=holder_outer_diameter, center=true);
tension_bracket();
}
translate([holder_outer_diameter / 2, 0, 0])
cube([holder_outer_diameter, 5, cutout_height], center=true);
}
cylinder(h=holder_width+2, d=bar_diameter, center=true);
tension_hole();
}
}
ring();
}
module display_plate() {
module mount_hole() {
translate([-holder_width * 1.2, 0, 0])
rotate([90, 0, 0])
cylinder(h=cutout_height, d=display_hole_diameter, center=true);
}
difference() {
translate([-holder_outer_diameter / 1.5, -holder_outer_diameter / 2, 0])
cube([holder_width * 2, holder_thickness, holder_width], center=true);
mount_hole();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment