X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=belt-slot-cut-jig.scad;h=e5731c63c6c92e8708c6c6aa3e6bae9c701f0ca0;hb=f57afd91759a049296c6d454b2e3a2b46a5560f7;hp=d7a1d13f9cdbbc758e2364e50b103e00a86fca7a;hpb=4959ec87d9a6b9129891e0ba45cac508219a4027;p=reprap-play.git diff --git a/belt-slot-cut-jig.scad b/belt-slot-cut-jig.scad index d7a1d13..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]); } @@ -219,7 +239,8 @@ module Jig(){ } module JigT(){ ////toplevel - translate([0,0,jig_main_zsz]) + rotate([0,0,-45]) + translate([0,0,jig_main_zsz]) rotate([180,0,0]) Jig(); } @@ -234,10 +255,10 @@ module Demo(){ ////toplevel } module Kit(){ ////toplevel + JigT(); rotate([0,0,-45]){ - JigT(); translate([(jig_iters-1)*jig_interval/2, - -strap_width, + jig_min_y - holder_max_y - 5, 0]) PunchHolder(); }