X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=belt-slot-cut-jig.scad;h=4ff14f1f66864431d1b166fec38884482d289e50;hb=5170ad7427d895b23ab21dec9135f29492b9e858;hp=a0d85f7374d9e432c7e678ac862f1bd68b6bf882;hpb=0c52fcdabe7e3b4a221edf19b5fabf91bbebe36a;p=reprap-play.git diff --git a/belt-slot-cut-jig.scad b/belt-slot-cut-jig.scad index a0d85f7..4ff14f1 100644 --- a/belt-slot-cut-jig.scad +++ b/belt-slot-cut-jig.scad @@ -10,6 +10,12 @@ holder_ctie_thick = 2.0 + 0.5; holder_attach_walls = 3; holder_attach_roof = 2.5; +jig_interval = 25; +strap_width = 25; +edgewall_width = 3; + +main_slop = 0.5; + // from careful measurement crewpunch_shape = @@ -38,8 +44,11 @@ holder_front_wall = crewpunch_shaft_max_y - crewpunch_biggest_shape[1][1] holder_block_zsz = crewpunch_biggest_shape[0] - crewpunch_smallest_shape[0]; holder_xsz = crewpunch_biggest_shape[2][0] + crewpunch_biggest_shape[2][1] + holder_min_wall*2; -holder_ysz = crewpunch_biggest_shape[1][0] + crewpunch_biggest_shape[1][1] + - holder_min_wall + holder_front_wall; +crewpunch_biggest_y = + crewpunch_biggest_shape[1][0] + crewpunch_biggest_shape[1][1]; +holder_ysz = crewpunch_biggest_y + holder_min_wall + holder_front_wall; + +attach_offset = holder_attach_xsz + holder_min_wall; // objects @@ -61,25 +70,47 @@ module CrewPunch(){ } } -module PunchHolder(){ - difference(){ - cube([holder_xsz, holder_ysz, holder_block_zsz]); - translate([crewpunch_biggest_shape[2][1] + holder_min_wall, - crewpunch_biggest_shape[1][0] + holder_front_wall, - -crewpunch_smallest_shape[0]]) - CrewPunch(); - } - translate([0,0,holder_block_zsz]){ +module PunchHolder(cutouts=true){ + translate([-holder_xsz/2, + -holder_ysz + holder_min_wall + crewpunch_biggest_y/2, + 0]){ + difference(){ + translate([0,attach_offset,0]) + cube([holder_xsz, holder_ysz - attach_offset, holder_block_zsz]); + if (cutouts) + translate([crewpunch_biggest_shape[2][1] + holder_min_wall, + crewpunch_biggest_shape[1][0] + holder_front_wall, + -crewpunch_smallest_shape[0]]) + CrewPunch(); + } difference(){ - translate([holder_xsz/2 - holder_attach_xsz/2, 0, -1]) + translate([holder_xsz/2 - holder_attach_xsz/2, 0, 0]) cube([holder_attach_xsz, attach_ysz, - holder_ctie_thick + holder_attach_roof + 1]); - translate([-30, holder_attach_walls, 0.1]) - cube([60, holder_ctie_width, holder_ctie_thick]); + holder_block_zsz + holder_ctie_thick + holder_attach_roof + 1]); + if (cutouts) + translate([-30, holder_attach_walls, holder_block_zsz + 0.1]) + cube([60, holder_ctie_width, holder_ctie_thick]); + } + } +} + +module OneJig(){ + difference(){ + translate([-(jig_interval/2 + 1), + -(strap_width/2 + edgewall_width) - attach_offset, + 0]) + cube([jig_interval + 2, + strap_width + edgewall_width*2 + attach_offset, + holder_ysz]); + minkowski(){ + cube([main_slop*2, main_slop*2, 50], center=true); + PunchHolder(false); } } } //CrewPunch(); -PunchHolder(); +//PunchHolder(); +//PunchHolder(false); +OneJig();