summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-09-05 11:01:19 (UTC)
committer Michael Krelin <hacker@klever.net>2018-09-05 11:01:19 (UTC)
commit4cc8be3ab27f44d8a298b8df3df0092d1f95e067 (patch) (unidiff)
treefb620b3df3f2f2cf05bfc5835b51775550832b8d
parent1ad17a1b1dc1365e201a6f9d647ec31bda42beb7 (diff)
downloadextrudery-4cc8be3ab27f44d8a298b8df3df0092d1f95e067.zip
extrudery-4cc8be3ab27f44d8a298b8df3df0092d1f95e067.tar.gz
extrudery-4cc8be3ab27f44d8a298b8df3df0092d1f95e067.tar.bz2
better indication of spring tensioner position
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad21
1 files changed, 15 insertions, 6 deletions
diff --git a/another.scad b/another.scad
index a25e047..fd73a61 100644
--- a/another.scad
+++ b/another.scad
@@ -382,43 +382,52 @@ module the_extruder(
382 label=body_label; 382 label=body_label;
383 label_thickness=body_label_thickness; 383 label_thickness=body_label_thickness;
384 label_len = len(label); 384 label_len = len(label);
385 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]; 385 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];
386 translate([0,0,body_h-label_thickness]) 386 translate([0,0,body_h-label_thickness])
387 linear_extrude(height=label_thickness+epsilon,convexity=64) 387 linear_extrude(height=label_thickness+epsilon,convexity=64)
388 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]) 388 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])
389 mirror([left?0:1,0]) 389 mirror([left?0:1,0])
390 text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black"); 390 text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black");
391 }else sphere(d=epsilon); // to avoid makefile breakage 391 }else sphere(d=epsilon); // to avoid makefile breakage
392 } 392 }
393 393
394 st_bump = 4*extrusion_width;
395 st_bump_tip = 2*extrusion_width;
394 module springpad() { 396 module springpad() {
395 smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; 397 smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell;
396 bigd = spring_d+spring_d_clearance/2; 398 bigd = spring_d+spring_d_clearance/2;
397 hf = (bigd-smalld)/2; 399 hf = (bigd-smalld)/2;
398 h = max(hf*2,fsw-st_screw_l+hf); 400 h = max(hf*3,fsw-st_screw_l+hf);
399 translate([-gearbox_d/2+fsw-h,-longwing,filament_elevation]) 401 translate([-gearbox_d/2+fsw-h,-longwing,filament_elevation])
400 rotate([0,90,0]) difference() { 402 rotate([0,90,0]) difference() {
401 union() { 403 union() {
402 cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); 404 cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd);
403 translate([0,0,hf-epsilon]) 405 translate([0,0,hf-epsilon])
404 cylinder(d=bigd,h=h-hf,$fn=fnd*bigd); 406 cylinder(d=bigd,h=h-hf,$fn=fnd*bigd);
405 translate([0,0,h]) 407 translate([0,0,h])
406 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); 408 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4);
407 l = body_h-ls_z; 409 l = body_h-ls_z;
408 w = sp_ch; 410 w = sp_ch;
409 hull() translate([0,-st_split_w/2,0]) mirror([1,0,0]) { 411 translate([0,-st_split_w/2,0]) mirror([1,0,0]) {
410 translate([0,0,w]) 412 hull() {
411 cube(size=[l,st_split_w,w]); 413 translate([0,0,w+st_bump])
412 cube(size=[l-w,st_split_w,2*w]); 414 cube(size=[l+st_bump,st_split_w,w]);
415 cube(size=[l-w,st_split_w,2*w]);
416 }
417 translate([l,0,w+st_bump]) hull() {
418 cube(size=[st_split_w,st_split_w,st_bump]);
419 translate([0,-st_bump+st_bump_tip,st_bump]) mirror([0,0,1])
420 cube(size=[st_split_w,st_split_w+2*(st_bump-st_bump_tip),st_bump_tip]);
421 }
413 } 422 }
414 } 423 }
415 translate([0,0,-epsilon]) 424 translate([0,0,-epsilon])
416 cylinder(d=st_screw_d+st_screw_d_tolerance, 425 cylinder(d=st_screw_d+st_screw_d_tolerance,
417 h=min(st_screw_l,fsw-hf)-fsw+h+2*epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); 426 h=min(st_screw_l,fsw-hf)-fsw+h+2*epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance));
418 } 427 }
419 } 428 }
420 429
421 module knob() { 430 module knob() {
422 ch = knob_indent_d/2; 431 ch = knob_indent_d/2;
423 knob_bore_l = body_h-protrusion_h-pulley_elevation-pulley_h-knob_v_clearance; 432 knob_bore_l = body_h-protrusion_h-pulley_elevation-pulley_h-knob_v_clearance;
424 translate([0,0,body_h+epsilon]) { 433 translate([0,0,body_h+epsilon]) {
@@ -455,25 +464,25 @@ module the_extruder(
455 mirror([left?0:1,0]) 464 mirror([left?0:1,0])
456 text(text=knob_label,size=ts,halign="center",valign="center",font="Arial Black"); 465 text(text=knob_label,size=ts,halign="center",valign="center",font="Arial Black");
457 }else sphere(d=epsilon); // to avoid makefile breakage 466 }else sphere(d=epsilon); // to avoid makefile breakage
458 } 467 }
459 468
460 module debug() { 469 module debug() {
461 difference() { 470 difference() {
462 children(); 471 children();
463 if(debug) { 472 if(debug) {
464 // spring tensioner debug cutout 473 // spring tensioner debug cutout
465 translate([-gearbox_d/2,-longwing,ls_z]) rotate([0,-90,0]) 474 translate([-gearbox_d/2,-longwing,ls_z]) rotate([0,-90,0])
466 translate([0,-lever_thickness/2-1,-gearbox_d-1]) 475 translate([0,-lever_thickness/2-1,-gearbox_d-1])
467 cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]); 476 cube(size=[body_h-ls_z+st_bump+1,lever_thickness/2+1,gearbox_d+2]);
468 // lever axis debug cutout 477 // lever axis debug cutout
469 translate([mount_d/2,0,-1]) 478 translate([mount_d/2,0,-1])
470 rotate([0,0,-45]) 479 rotate([0,0,-45])
471 cube(size=[gearbox_d-mount_d,gearbox_d-mount_d,body_h+knob_h+2]); 480 cube(size=[gearbox_d-mount_d,gearbox_d-mount_d,body_h+knob_h+2]);
472 // idler debug cutout 481 // idler debug cutout
473 translate([0,0,ls_z]) 482 translate([0,0,ls_z])
474 place_idler() 483 place_idler()
475 rotate([0,0,-45]) 484 rotate([0,0,-45])
476 translate([0,0,-lever_thickness/2-epsilon]) 485 translate([0,0,-lever_thickness/2-epsilon])
477 cube(size=[lsd*sqrt(2)/2+1,lsd*sqrt(2)/2+1, 486 cube(size=[lsd*sqrt(2)/2+1,lsd*sqrt(2)/2+1,
478 lever_thickness+2*epsilon]); 487 lever_thickness+2*epsilon]);
479 // pushfit debug cutout 488 // pushfit debug cutout