-rw-r--r-- | another.scad | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/another.scad b/another.scad index 2331003..9ff7f6a 100644 --- a/another.scad +++ b/another.scad | |||
@@ -62,25 +62,25 @@ module the_extruder( | |||
62 | knob_bore_d_tolerance=.6, | 62 | knob_bore_d_tolerance=.6, |
63 | st_nut_h_tolerance=.2, | 63 | st_nut_h_tolerance=.2, |
64 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ | 64 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ |
65 | st_screw_d_tolerance=.5, | 65 | st_screw_d_tolerance=.5, |
66 | st_split_w_tolerance = .3, | 66 | st_split_w_tolerance = .3, |
67 | 67 | ||
68 | min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. | 68 | min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. |
69 | min_xy_shell = 2*extrusion_width, | 69 | min_xy_shell = 2*extrusion_width, |
70 | 70 | ||
71 | what="lever", // lever|body|knob|springpad|* | 71 | what="lever", // lever|body|knob|springpad|* |
72 | left=false, | 72 | left=false, |
73 | vitamins = true, | 73 | vitamins = true, |
74 | supports = false, bridges = true, | 74 | bridges = true, |
75 | tensioner = true, | 75 | tensioner = true, |
76 | debug = false | 76 | debug = false |
77 | ) { | 77 | ) { |
78 | fnd = 2*PI; fnr = 2*fnd; | 78 | fnd = 2*PI; fnr = 2*fnd; |
79 | 79 | ||
80 | idler_filament_offset = filament_path_d/2; // -filament_offset; | 80 | idler_filament_offset = filament_path_d/2; // -filament_offset; |
81 | lever_shell = mount_screwhead_h+0.5; | 81 | lever_shell = mount_screwhead_h+0.5; |
82 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); | 82 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); |
83 | lsd = idler_d-idler_clearance*2; // the diameter of lever thingie | 83 | lsd = idler_d-idler_clearance*2; // the diameter of lever thingie |
84 | longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+min_xy_shell; | 84 | longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+min_xy_shell; |
85 | shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) | 85 | shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) |
86 | sqrt(c*c+pow(a-c,2)); | 86 | sqrt(c*c+pow(a-c,2)); |
@@ -189,30 +189,25 @@ module the_extruder( | |||
189 | translate([0,0, | 189 | translate([0,0, |
190 | sqrt(2)*(mount_d-pulley_d+lsd)/2 | 190 | sqrt(2)*(mount_d-pulley_d+lsd)/2 |
191 | ]) { | 191 | ]) { |
192 | cylinder(d1=filament_path_d,d2=2*filament_path_d, | 192 | cylinder(d1=filament_path_d,d2=2*filament_path_d, |
193 | h=filament_path_d,$fn=2*filament_path_d*fnd); | 193 | h=filament_path_d,$fn=2*filament_path_d*fnd); |
194 | translate([0,0,filament_path_d-epsilon]) | 194 | translate([0,0,filament_path_d-epsilon]) |
195 | cylinder(d=2*filament_path_d,h=lsd*sqrt(2),$fn=2*filament_path_d*fnd); | 195 | cylinder(d=2*filament_path_d,h=lsd*sqrt(2),$fn=2*filament_path_d*fnd); |
196 | }//translate | 196 | }//translate |
197 | }//rotate translate place_idler | 197 | }//rotate translate place_idler |
198 | 198 | ||
199 | // idler space and mounting hole | 199 | // idler space and mounting hole |
200 | place_idler() { | 200 | place_idler() { |
201 | difference() { | 201 | cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60); |
202 | cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60); | ||
203 | if(supports) for(y=[-lsd/2+extrusion_width:(lsd-2*extrusion_width)/3:lsd/2-extrusion_width]) | ||
204 | translate([-lsd/2-1,y-extrusion_width/2,-idler_h/2-idler_v_tolerance/2-1]) | ||
205 | cube(size=[lsd+2,extrusion_width,idler_h+idler_v_tolerance+2]); | ||
206 | } | ||
207 | cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); | 202 | cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); |
208 | translate([0,0,lever_thickness/2-idler_screwhead_h]) | 203 | translate([0,0,lever_thickness/2-idler_screwhead_h]) |
209 | cylinder(d=idler_screwhead_d,h=idler_screwhead_h+1,$fn=fnd*idler_screwhead_d); | 204 | cylinder(d=idler_screwhead_d,h=idler_screwhead_h+1,$fn=fnd*idler_screwhead_d); |
210 | } | 205 | } |
211 | // mounting screw hole | 206 | // mounting screw hole |
212 | translate([mount_d/2,0,0]) | 207 | translate([mount_d/2,0,0]) |
213 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=fnd*mount_screw_d); | 208 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=fnd*mount_screw_d); |
214 | 209 | ||
215 | // lever end | 210 | // lever end |
216 | translate([mount_d/2,0,0]) rotate([0,90,0]) { | 211 | translate([mount_d/2,0,0]) rotate([0,90,0]) { |
217 | translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); | 212 | translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); |
218 | translate([0,-longwing,0]) | 213 | translate([0,-longwing,0]) |
@@ -377,43 +372,24 @@ module the_extruder( | |||
377 | h=hf+epsilon, $fn=fnd*bigd); | 372 | h=hf+epsilon, $fn=fnd*bigd); |
378 | translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) | 373 | translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) |
379 | cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); | 374 | cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); |
380 | } | 375 | } |
381 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) | 376 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) |
382 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); | 377 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); |
383 | } | 378 | } |
384 | } | 379 | } |
385 | } | 380 | } |
386 | 381 | ||
387 | }//difference | 382 | }//difference |
388 | 383 | ||
389 | if(supports) intersection() { | ||
390 | difference() { | ||
391 | translate([0,0,ls_z-ls_h/2-epsilon]) | ||
392 | cylinder(d=gearbox_d,h=ls_h+2*epsilon,$fn=fnd*gearbox_d); | ||
393 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); | ||
394 | } | ||
395 | // supports | ||
396 | // TODO: hardcoded stuff below… | ||
397 | if(false) { // parallel | ||
398 | for(y=[-gearbox_d:4:gearbox_d]) | ||
399 | translate([0,y-extrusion_width/2,0]) | ||
400 | cube(size=[gearbox_d,extrusion_width,body_h]); | ||
401 | }else{ // radial | ||
402 | for(zr=[-65:(65+50)/7:50]) | ||
403 | rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) | ||
404 | cube(size=[gearbox_d,extrusion_width,body_h]); | ||
405 | } | ||
406 | } | ||
407 | |||
408 | }//body module | 384 | }//body module |
409 | 385 | ||
410 | module springpad() { | 386 | module springpad() { |
411 | smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; | 387 | smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; |
412 | bigd = spring_d+spring_d_clearance/2; | 388 | bigd = spring_d+spring_d_clearance/2; |
413 | hf = (bigd-smalld)/2; | 389 | hf = (bigd-smalld)/2; |
414 | h = hf*3.5; | 390 | h = hf*3.5; |
415 | translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) | 391 | translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) |
416 | rotate([0,90,0]) difference() { | 392 | rotate([0,90,0]) difference() { |
417 | union() { | 393 | union() { |
418 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); | 394 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); |
419 | translate([0,0,hf-epsilon]) | 395 | translate([0,0,hf-epsilon]) |