- }
-}
-
-module RegistrationGroove(l){
- // runs along the +ve X axis for length l but at correct z pos
- translate([0, 0, jig_main_zsz + 0.1]) {
- rotate([90,0,90])
- linear_extrude(height=l)
- polygon([[-registrationgroove_width/2, 0],
- [ +registrationgroove_width/2, 0],
- [ 0, -registrationgroove_depth ]]);
- }
-}
-
-module OneJig(){
- difference(){
- translate([-(jig_interval/2 + jig_overlap),
- -(strap_width/2 + edgewall_width) - attach_offset,
- -strap_thick])
- cube([jig_interval + 2,
- strap_width + edgewall_width*2 + attach_offset,
- jig_main_zsz + strap_thick]);
- minkowski(){
- cube([main_slop*2, main_slop*2, 50], center=true);
- PunchHolder(false);
- }
- translate([-100, -strap_width/2, -10])
- cube([200, strap_width, 10]);
- translate([-100,0,0])
- RegistrationGroove(200);
- for (xfrac=[-1/4,0,+1/4])
- translate([jig_interval * xfrac, -100, 0])
- rotate([0,0,90])
- RegistrationGroove(200);
- }
-}
-
-module RegistrationProtrusion(){
- // points towards the positive x axis
- xsz = registrationprotrusion_poke;
- ysz = registrationprotrusion_poke;
- diag_sz = xsz * sqrt(2);
- zsz = diag_sz / registrationprotrusion_slope;
- hull(){
- translate([0, 0, 0.1]){
- linear_extrude(height=0.1)
- polygon([[ 0, -ysz ],
- [ xsz, 0 ],
- [ 0, ysz ]]);
- translate([-0.1, 0, zsz ])
- rotate([0,0,45])
- cube(0.1);
- }
- }