X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=belt-slot-cut-jig.scad;h=e5731c63c6c92e8708c6c6aa3e6bae9c701f0ca0;hb=0099c9fe4e3a9e15dc9372db5c4c7a0c7a25d5e4;hp=c7efa51a96fed1362b9c64f6bc23600936f457f1;hpb=2053a1e81c21e67791b5351638651cd970742095;p=reprap-play.git diff --git a/belt-slot-cut-jig.scad b/belt-slot-cut-jig.scad index c7efa51..e5731c6 100644 --- a/belt-slot-cut-jig.scad +++ b/belt-slot-cut-jig.scad @@ -16,6 +16,8 @@ holder_ctie_thick = 3.0 + 0.5; holder_attach_walls = 3; holder_attach_roof = 2.5; +holder_corner_round = 2.0; + jig_interval = 25; strap_width = 26.75 + 0.7; strap_thick = 3; @@ -23,7 +25,7 @@ edgewall_width = 3; punch_travel = 8; -main_slop = 0.5; +main_slop = 0.25; jig_max_len = 160; // print diagonally //jig_max_len = 30; @@ -95,8 +97,8 @@ jig_main_zsz = holder_block_zsz + punch_travel; jig_ends_extra = 2; -//jig_iters = (jig_max_len - jig_ends_extra) / jig_interval; -jig_iters=2; +jig_iters = floor((jig_max_len - jig_ends_extra) / jig_interval); +//jig_iters=2; echo(jig_iters); // objects @@ -119,12 +121,29 @@ module CrewPunch(){ } } +module MaybeRoundedCube(sizes, roundedness){ + if (roundedness > 0) { + translate([roundedness, roundedness, 0]){ + minkowski(){ + cube([sizes[0] - roundedness*2, + sizes[1] - roundedness*2, + sizes[2]]); + cylinder(h=0.05, r=roundedness, $fn=20); + } + } + } else { + cube(sizes); + } +} + module PunchHolder(cutouts=true){ + roundedness = cutouts ? holder_corner_round : 0; difference(){ translate([-holder_xsz/2, holder_block_min_y, 0]) - cube([holder_xsz, - holder_max_y - holder_block_min_y, - holder_block_zsz]); + MaybeRoundedCube([holder_xsz, + holder_max_y - holder_block_min_y, + holder_block_zsz], + roundedness); if (cutouts) rotate([0,0,-crewpunch_skew_angle]) translate([punch_dx, @@ -134,13 +153,14 @@ module PunchHolder(cutouts=true){ } difference(){ translate([-holder_attach_xsz/2, holder_all_min_y, 0]) - cube([holder_attach_xsz, - attach_ysz, - holder_block_zsz + punch_travel - + holder_ctie_thick + holder_attach_roof + 1]); + MaybeRoundedCube([holder_attach_xsz, + attach_ysz, + holder_block_zsz + punch_travel + + holder_ctie_thick + holder_attach_roof + 1], + roundedness); if (cutouts) translate([-30, - holder_attach_walls, + holder_all_min_y + holder_attach_walls, holder_block_zsz + punch_travel]) cube([60, holder_ctie_width, holder_ctie_thick]); } @@ -238,7 +258,7 @@ module Kit(){ ////toplevel JigT(); rotate([0,0,-45]){ translate([(jig_iters-1)*jig_interval/2, - -strap_width, + jig_min_y - holder_max_y - 5, 0]) PunchHolder(); }