From 461e05f32eacaffd4508abf2943fcad8d0c7d00d Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Mon, 06 Feb 2017 21:20:07 +0000 Subject: knob --- (limited to 'another.scad') diff --git a/another.scad b/another.scad index fa60676..9f42f46 100644 --- a/another.scad +++ b/another.scad @@ -32,6 +32,11 @@ module the_extruder( filament_d = 1.75, filament_path_d = 2, filament_guide_d = 4, // PTFE filament guide diameter + // knob properties + knob_h = 10, + knob_bore_l = 4, + knob_indent_d = 4, + knob_indents = 12, // screw it mount_screw_d = 3, mount_screw_l = 20, @@ -47,6 +52,7 @@ module the_extruder( protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion mount_screw_d_tolerance=.5, idler_v_tolerance=.5, + knob_bore_d_tolerance=.6, what="lever", left=false, @@ -292,13 +298,43 @@ module the_extruder( } }//body module + + module knob() { + ch = knob_indent_d/2; + translate([0,0,body_h+epsilon]) { + mirror([0,0,1]) translate([0,0,-epsilon]) { + difference() { + cylinder(d=pulley_d,h=knob_bore_l,$fn=pulley_d*PI*2); + translate([0,0,-1]) difference() { + cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2); + translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1]) + cube([bore_d+2,bore_d/2,knob_bore_l+4]); + } + } + } + difference() { + union() { + cylinder(d1=gearbox_d-2*ch,d2=gearbox_d,h=ch+epsilon,$fn=PI*gearbox_d*2); + translate([0,0,ch]) + cylinder(d=gearbox_d,h=knob_h-2*ch+epsilon,$fn=PI*gearbox_d*2); + translate([0,0,knob_h-ch]) + cylinder(d1=gearbox_d,d2=gearbox_d-2*ch,h=ch,$fn=PI*gearbox_d*2); + } + for(a=[0:360/knob_indents:359]) rotate([0,0,a]) + translate([0,gearbox_d/2,-1]) + cylinder(d=knob_indent_d,h=knob_h+2,$fn=knob_indent_d*PI*2); + } + } + }//knob module mirrorleft() if(what=="lever") color("green",0.7) lever(); else if(what=="body") color("yellow",0.7) body(); - else if(what=="both") { + else if(what=="knob") color("red",0.7) knob(); + else if(what=="both" || what=="*") { color("green",0.7) lever(); color("yellow",0.7) body(); + color("red",0.7) knob(); } } -- cgit v0.9.0.2