Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- knob_radius = 24;
- knob();
- module knob() {
- union() {
- difference() {
- sphere(r=knob_radius);
- translate([0, 0, 0-(knob_radius)]) {
- cylinder(r1=knob_radius, r2=knob_radius, h=knob_radius);
- }
- shaft_hole();
- }
- indentations();
- }
- }
- shaft_radius = 6.4; // ~ .25"
- shaft_height = 13;
- shaft_smoothness = 20;
- flat_size = 5;
- module shaft_hole() {
- difference() {
- translate([0, 0, -1])
- cylinder(r=shaft_radius, h=shaft_height, $fn=shaft_smoothness);
- rotate( [0,0,90])
- translate([-7.5, -7.5, 0])
- cube(size=[flat_size, 15, 13], center=false);
- }
- }
- knurls = 16;
- knurl_size = 10;
- layers = 18;
- module indentations() {
- for (layer = [0:layers]) {
- for (z = [0:knurls]) {
- rotate([
- 0,
- -1 * (150/layers)*layer + 40,
- 90+((360/knurls)*z)
- ])
- translate([knob_radius - (knurl_size/3), 0, 0])
- rotate([(120/layers)*layer, 0, 0])
- scale(1- (layer/layers))
- cube(size=knurl_size);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement