|
|
@@ -1,14 +1,7 @@ |
|
|
|
links_count=3; // [1..20] |
|
|
|
include_terminal=true; // [true,false] |
|
|
|
export=0; // [0:6] |
|
|
|
|
|
|
|
MODEL_DEMO=0; |
|
|
|
MODEL_LINKS=1; |
|
|
|
MODEL_CLIP_A=2; |
|
|
|
MODEL_CLIP_B=3; |
|
|
|
MODEL_CLIP_RATCHETING=4; |
|
|
|
MODEL_CLIP_RATCHETING_A=5; |
|
|
|
MODEL_CLIP_RATCHETING_B=6; |
|
|
|
include <export.scad> |
|
|
|
|
|
|
|
//validation=1; |
|
|
|
VALIDATE_INTERSECTION=1; |
|
|
@@ -19,11 +12,6 @@ use <BOSL/transforms.scad> |
|
|
|
use <BOSL/shapes.scad> |
|
|
|
include <BOSL/constants.scad> |
|
|
|
|
|
|
|
function is_not_export() = is_undef(export) || export == 0; |
|
|
|
function is_export() = !is_not_export(); |
|
|
|
function is_model_strict(m) = is_export() && export == m; |
|
|
|
function is_model(m) = is_not_export() || export == m; |
|
|
|
|
|
|
|
function get_link_segment_size() = [15, 30, 5]; |
|
|
|
function get_link_pin_diameter() = 2; |
|
|
|
function get_link_socket_slack() = [1, 4, 1]; |
|
|
@@ -147,8 +135,8 @@ module clip() { |
|
|
|
translate(entry_pos) cube(entry_size, center=true); |
|
|
|
} |
|
|
|
module joiner(groove) { |
|
|
|
slack=groove?0.5:0; |
|
|
|
joiner_size=[entry_size.x-6+slack, entry_size.y-6+slack, entry_size.z-4+slack]; |
|
|
|
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); |
|
|
|
} |