author | Michael Krelin <hacker@klever.net> | 2018-08-31 18:50:17 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-08-31 18:50:17 (UTC) |
commit | 75fca0ac3c2b4e9a5d5bb49043abc9bc9e8b599c (patch) (unidiff) | |
tree | db5076e2f711c44871b6089dbadf1f04de6aa818 | |
parent | dcbe14bb70c4c83bf8dd50e590c5539be022a7ac (diff) | |
download | extrudery-75fca0ac3c2b4e9a5d5bb49043abc9bc9e8b599c.zip extrudery-75fca0ac3c2b4e9a5d5bb49043abc9bc9e8b599c.tar.gz extrudery-75fca0ac3c2b4e9a5d5bb49043abc9bc9e8b599c.tar.bz2 |
spring tensioner split width as a parameter
and conditional label (though probably without the change using empty
string would achieve more or less the same results)
-rw-r--r-- | another.scad | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/another.scad b/another.scad index 297c1fc..ed18874 100644 --- a/another.scad +++ b/another.scad | |||
@@ -34,12 +34,13 @@ module the_extruder( | |||
34 | knob_indent_d = 4, | 34 | knob_indent_d = 4, |
35 | knob_indents = 12, | 35 | knob_indents = 12, |
36 | // spring tensioner | 36 | // spring tensioner |
37 | st_nut_d = 9, st_nut_h = 4, | 37 | st_nut_d = 9, st_nut_h = 4, |
38 | st_screw_d = 5, | 38 | st_screw_d = 5, |
39 | st_thickshell = 8*extrusion_width, st_thinshell = 2*extrusion_width, | 39 | st_thickshell = 8*extrusion_width, st_thinshell = 2*extrusion_width, |
40 | st_split_w = 4*extrusion_width, | ||
40 | 41 | ||
41 | // screw it | 42 | // screw it |
42 | mount_screw_d = 3.1, mount_screw_l = 20, | 43 | mount_screw_d = 3.1, mount_screw_l = 20, |
43 | mount_screwhead_d=6, mount_screwhead_h=3, | 44 | mount_screwhead_d=6, mount_screwhead_h=3, |
44 | idler_screw_d = 3, | 45 | idler_screw_d = 3, |
45 | idler_screwhead_d=6, idler_screwhead_h=3, | 46 | idler_screwhead_d=6, idler_screwhead_h=3, |
@@ -234,13 +235,13 @@ module the_extruder( | |||
234 | translate([-gearbox_d/2,0,0]) hull() { | 235 | translate([-gearbox_d/2,0,0]) hull() { |
235 | translate([0,-longwing,ls_z]) | 236 | translate([0,-longwing,ls_z]) |
236 | rotate([0,90,0]) | 237 | rotate([0,90,0]) |
237 | cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); | 238 | cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); |
238 | hh=body_h-ls_z; | 239 | hh=body_h-ls_z; |
239 | translate([0,0,ls_z]) | 240 | translate([0,0,ls_z]) |
240 | mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); | 241 | mirror([0,1,0]) cube(size=[fsw,longwing+(st_split_w+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); |
241 | hhh=ls_z; | 242 | hhh=ls_z; |
242 | translate([0,0,0]) | 243 | translate([0,0,0]) |
243 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); | 244 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); |
244 | }//hull translate | 245 | }//hull translate |
245 | 246 | ||
246 | // pushfit bracket | 247 | // pushfit bracket |
@@ -358,29 +359,31 @@ module the_extruder( | |||
358 | translate([0,0,-1]) cylinder(d=st_screw_d+st_screw_d_tolerance,h=fsw+2,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); | 359 | translate([0,0,-1]) cylinder(d=st_screw_d+st_screw_d_tolerance,h=fsw+2,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); |
359 | bigd = spring_d+spring_d_clearance; | 360 | bigd = spring_d+spring_d_clearance; |
360 | hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; | 361 | hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; |
361 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { | 362 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { |
362 | cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, | 363 | cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, |
363 | h=hf+epsilon, $fn=fnd*bigd); | 364 | h=hf+epsilon, $fn=fnd*bigd); |
364 | translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) | 365 | translate([0,-(st_split_w+st_split_w_tolerance)/2,0]) |
365 | cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); | 366 | cube(size=[body_h-ls_z+1,st_split_w+st_split_w_tolerance,fsw+1]); |
366 | }//translate | 367 | }//translate |
367 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) | 368 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) |
368 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); | 369 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); |
369 | }//mirror | 370 | }//mirror |
370 | }//translate | 371 | }//translate |
371 | 372 | ||
372 | // label | 373 | // label |
373 | label_thickness = 2*layer_height; | 374 | label_thickness = 2*layer_height; |
374 | label_len = len(label); | 375 | label_len = len(label); |
375 | labelspace = [gearbox_d/2-mount_screwhead_d/2-min_xy_shell,longwing-(mount_screwhead_d-st_thinshell-st_split_w_tolerance)/2-2*min_xy_shell-mount_d/2]; | 376 | if(label_len) { |
376 | translate([0,0,body_h-label_thickness]) | 377 | labelspace = [gearbox_d/2-mount_screwhead_d/2-min_xy_shell,longwing-(mount_screwhead_d-st_split_w-st_split_w_tolerance)/2-2*min_xy_shell]; |
377 | linear_extrude(height=label_thickness+epsilon,convexity=64) | 378 | translate([0,0,body_h-label_thickness]) |
378 | translate([-mount_screwhead_d/2-min_xy_shell-labelspace.x/2,-longwing+(st_thinshell+st_split_w_tolerance)/2+min_xy_shell+labelspace.y/2]) | 379 | linear_extrude(height=label_thickness+epsilon,convexity=64) |
379 | mirror([left?0:1,0]) | 380 | translate([-mount_screwhead_d/2-min_xy_shell-labelspace.x/2,-longwing+(st_split_w+st_split_w_tolerance)/2+min_xy_shell+labelspace.y/2]) |
380 | text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black"); | 381 | mirror([left?0:1,0]) |
382 | text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black"); | ||
383 | }//if(label_len) | ||
381 | 384 | ||
382 | }//difference | 385 | }//difference |
383 | 386 | ||
384 | }//body module | 387 | }//body module |
385 | 388 | ||
386 | module springpad() { | 389 | module springpad() { |
@@ -394,17 +397,17 @@ module the_extruder( | |||
394 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); | 397 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); |
395 | translate([0,0,hf-epsilon]) | 398 | translate([0,0,hf-epsilon]) |
396 | cylinder(d=bigd,h=h-hf,$fn=fnd*bigd); | 399 | cylinder(d=bigd,h=h-hf,$fn=fnd*bigd); |
397 | translate([0,0,h]) | 400 | translate([0,0,h]) |
398 | sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); | 401 | sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); |
399 | l = body_h-ls_z; | 402 | l = body_h-ls_z; |
400 | w = st_thinshell; | 403 | w = st_split_w; |
401 | hull() translate([0,-st_thinshell/2,0]) mirror([1,0,0]) { | 404 | hull() translate([0,-st_split_w/2,0]) mirror([1,0,0]) { |
402 | translate([0,0,w]) | 405 | translate([0,0,w]) |
403 | cube(size=[l,st_thinshell,w]); | 406 | cube(size=[l,st_split_w,w]); |
404 | cube(size=[l-w,st_thinshell,2*w]); | 407 | cube(size=[l-w,st_split_w,2*w]); |
405 | } | 408 | } |
406 | } | 409 | } |
407 | translate([0,0,-epsilon]) | 410 | translate([0,0,-epsilon]) |
408 | cylinder(d=st_screw_d+st_screw_d_tolerance,h=2*hf+epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); | 411 | cylinder(d=st_screw_d+st_screw_d_tolerance,h=2*hf+epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); |
409 | } | 412 | } |
410 | } | 413 | } |