|
|
@@ -1,14 +1,22 @@ |
|
|
|
links_count=3; // [1..20] |
|
|
|
include_terminal=true; // [true,false] |
|
|
|
include_screwhole=true; // [true,false] |
|
|
|
clip_screwhole=2; |
|
|
|
|
|
|
|
//export=302;//MODEL_CLIP_A; |
|
|
|
//export=303;//MODEL_CLIP_B; |
|
|
|
|
|
|
|
include <export.scad> |
|
|
|
use <BOSL/transforms.scad> |
|
|
|
use <BOSL/shapes.scad> |
|
|
|
include <BOSL/constants.scad> |
|
|
|
|
|
|
|
use <specs_strap.scad> |
|
|
|
use <specs_platform.scad> |
|
|
|
|
|
|
|
use <common.scad> |
|
|
|
use <strap_common.scad> |
|
|
|
use <platform_common.scad> |
|
|
|
|
|
|
|
if (is_model_strict(MODEL_LINKS)) { |
|
|
|
echo("==============================="); |
|
|
@@ -81,7 +89,13 @@ module clip() { |
|
|
|
slack=groove?0.2:0; |
|
|
|
joiner_size=[entry_size.x-6+slack, entry_size.y-6+slack, entry_size.z-3+slack]; |
|
|
|
joiner_pos=[entry_pos.x, entry_pos.y, entry_pos.z - entry_size.z/2 + joiner_size.z/2]; |
|
|
|
translate(joiner_pos) cube(joiner_size, center=true); |
|
|
|
difference() { |
|
|
|
translate(joiner_pos) cube(joiner_size, center=true); |
|
|
|
screw_cutout(); |
|
|
|
} |
|
|
|
} |
|
|
|
module screw_cutout() { |
|
|
|
if (include_screwhole) down(clip_size.z/2) screwhole(d=clip_screwhole, h=clip_size.z); |
|
|
|
} |
|
|
|
|
|
|
|
module model() { |
|
|
@@ -93,6 +107,7 @@ module clip() { |
|
|
|
} |
|
|
|
right(clip_size.x/2) socket_cutout(); |
|
|
|
left(clip_size.x/2) socket_cutout(); |
|
|
|
screw_cutout(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|