summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2017-02-06 21:20:07 (UTC)
committer Michael Krelin <hacker@klever.net>2017-02-06 21:20:07 (UTC)
commit461e05f32eacaffd4508abf2943fcad8d0c7d00d (patch) (unidiff)
treeb4d25537b953efb9e2e44815520f36f0c6df4773
parentc83b5d18ae09805a6a65715a2586c225ff393074 (diff)
downloadextrudery-461e05f32eacaffd4508abf2943fcad8d0c7d00d.zip
extrudery-461e05f32eacaffd4508abf2943fcad8d0c7d00d.tar.gz
extrudery-461e05f32eacaffd4508abf2943fcad8d0c7d00d.tar.bz2
knob
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--another.scad38
2 files changed, 40 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 9444a03..31135cb 100644
--- a/Makefile
+++ b/Makefile
@@ -6,17 +6,19 @@ OPENSCAD_FLAGS=-D draft=false
6 6
7default: 7default:
8 @echo "And?" 8 @echo "And?"
9 9
10clean: 10clean:
11 rm -f *.stl *.gcode 11 rm -f *.stl *.gcode
12 12
13stl-another-%: 13stl-another-%:
14 $(MAKE) another-$*-{body,lever}.stl 14 $(MAKE) another-$*-{body,lever,knob}.stl
15 15
16another-%-body.stl: another-%.scad another.scad 16another-%-body.stl: another-%.scad another.scad
17 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="body"' -o "$@" "$<" 17 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="body"' -o "$@" "$<"
18another-%-lever.stl: another-%.scad another.scad 18another-%-lever.stl: another-%.scad another.scad
19 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="lever"' -o "$@" "$<" 19 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="lever"' -o "$@" "$<"
20another-%-knob.stl: another-%.scad another.scad
21 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="knob"' -o "$@" "$<"
20 22
21%.stl: %.scad 23%.stl: %.scad
22 ${OPENSCAD_BIN} ${OPENSCAD_FLAGS} -o "$@" "$<" 24 ${OPENSCAD_BIN} ${OPENSCAD_FLAGS} -o "$@" "$<"
diff --git a/another.scad b/another.scad
index fa60676..9f42f46 100644
--- a/another.scad
+++ b/another.scad
@@ -27,31 +27,37 @@ module the_extruder(
27 // idler properties 27 // idler properties
28 idler_d = 9.5, idler_h = 4, idler_id = 3,// idler dimensions: outer and inner diameters and height 28 idler_d = 9.5, idler_h = 4, idler_id = 3,// idler dimensions: outer and inner diameters and height
29 // spring properties 29 // spring properties
30 spring_d = 10, spring_lc = 9.6, // spring diameter and compressed length 30 spring_d = 10, spring_lc = 9.6, // spring diameter and compressed length
31 // filament path properties 31 // filament path properties
32 filament_d = 1.75, 32 filament_d = 1.75,
33 filament_path_d = 2, 33 filament_path_d = 2,
34 filament_guide_d = 4, // PTFE filament guide diameter 34 filament_guide_d = 4, // PTFE filament guide diameter
35 // knob properties
36 knob_h = 10,
37 knob_bore_l = 4,
38 knob_indent_d = 4,
39 knob_indents = 12,
35 40
36 // screw it 41 // screw it
37 mount_screw_d = 3, mount_screw_l = 20, 42 mount_screw_d = 3, mount_screw_l = 20,
38 mount_screwhead_d=6, mount_screwhead_h=3, 43 mount_screwhead_d=6, mount_screwhead_h=3,
39 44
40 // empty spaces 45 // empty spaces
41 idler_travel = 3, // how far should idler travel when pressed 46 idler_travel = 3, // how far should idler travel when pressed
42 idler_clearance=1, 47 idler_clearance=1,
43 pulley_clearance=2, 48 pulley_clearance=2,
44 lever_v_clearance=.7, // vertical clearance for the lever 49 lever_v_clearance=.7, // vertical clearance for the lever
45 spring_d_clearance=1, 50 spring_d_clearance=1,
46 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion 51 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion
47 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion 52 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion
48 mount_screw_d_tolerance=.5, 53 mount_screw_d_tolerance=.5,
49 idler_v_tolerance=.5, 54 idler_v_tolerance=.5,
55 knob_bore_d_tolerance=.6,
50 56
51 what="lever", 57 what="lever",
52 left=false, 58 left=false,
53 vitamins = true 59 vitamins = true
54) { 60) {
55 lever_shell = mount_screwhead_h+0.5; 61 lever_shell = mount_screwhead_h+0.5;
56 lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 62 lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
57 lsd = idler_d-idler_clearance*2; 63 lsd = idler_d-idler_clearance*2;
@@ -288,18 +294,48 @@ module the_extruder(
288 for(zr=[-65:(65+50)/7:50]) 294 for(zr=[-65:(65+50)/7:50])
289 rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) 295 rotate([0,0,zr]) translate([0,-extrusion_width/2,0])
290 cube(size=[gearbox_d,extrusion_width,body_h]); 296 cube(size=[gearbox_d,extrusion_width,body_h]);
291 } 297 }
292 } 298 }
293 299
294 }//body module 300 }//body module
295 301
302 module knob() {
303 ch = knob_indent_d/2;
304 translate([0,0,body_h+epsilon]) {
305 mirror([0,0,1]) translate([0,0,-epsilon]) {
306 difference() {
307 cylinder(d=pulley_d,h=knob_bore_l,$fn=pulley_d*PI*2);
308 translate([0,0,-1]) difference() {
309 cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2);
310 translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1])
311 cube([bore_d+2,bore_d/2,knob_bore_l+4]);
312 }
313 }
314 }
315 difference() {
316 union() {
317 cylinder(d1=gearbox_d-2*ch,d2=gearbox_d,h=ch+epsilon,$fn=PI*gearbox_d*2);
318 translate([0,0,ch])
319 cylinder(d=gearbox_d,h=knob_h-2*ch+epsilon,$fn=PI*gearbox_d*2);
320 translate([0,0,knob_h-ch])
321 cylinder(d1=gearbox_d,d2=gearbox_d-2*ch,h=ch,$fn=PI*gearbox_d*2);
322 }
323 for(a=[0:360/knob_indents:359]) rotate([0,0,a])
324 translate([0,gearbox_d/2,-1])
325 cylinder(d=knob_indent_d,h=knob_h+2,$fn=knob_indent_d*PI*2);
326 }
327 }
328 }//knob module
329
296 mirrorleft() 330 mirrorleft()
297 if(what=="lever") color("green",0.7) lever(); 331 if(what=="lever") color("green",0.7) lever();
298 else if(what=="body") color("yellow",0.7) body(); 332 else if(what=="body") color("yellow",0.7) body();
299 else if(what=="both") { 333 else if(what=="knob") color("red",0.7) knob();
334 else if(what=="both" || what=="*") {
300 color("green",0.7) lever(); 335 color("green",0.7) lever();
301 color("yellow",0.7) body(); 336 color("yellow",0.7) body();
337 color("red",0.7) knob();
302 } 338 }
303} 339}
304 340
305the_extruder(what="both",left=false); 341the_extruder(what="both",left=false);