Add screwhole to strap clip
This commit is contained in:
parent
3e5afb4ebd
commit
5a274cdb03
@ -9,5 +9,14 @@ module cubi(s, fillet=0, edges=EDGES_ALL) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module screwhole(d, h, head=true) {
|
||||||
|
$fn=$preview ? 5 : 20;
|
||||||
|
translate([0, 0, h]) cylinder(d=d*1.5, h=d*0.5);
|
||||||
|
split=h*0.5;
|
||||||
|
translate([0, 0, split]) cylinder(d=d, h=(h-split));
|
||||||
|
cylinder(d2=d, d1=d*0.1, h=split);
|
||||||
|
cylinder(d2=d*0.6, d1=d*0.6, h=split/2);
|
||||||
|
}
|
||||||
|
|
||||||
function vec_sum(v, w) = [v.x + w.x, v.y + w.y, v.z + w.z];
|
function vec_sum(v, w) = [v.x + w.x, v.y + w.y, v.z + w.z];
|
||||||
|
|
||||||
|
@ -1,14 +1,22 @@
|
|||||||
links_count=3; // [1..20]
|
links_count=3; // [1..20]
|
||||||
include_terminal=true; // [true,false]
|
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>
|
include <export.scad>
|
||||||
use <BOSL/transforms.scad>
|
use <BOSL/transforms.scad>
|
||||||
use <BOSL/shapes.scad>
|
use <BOSL/shapes.scad>
|
||||||
include <BOSL/constants.scad>
|
include <BOSL/constants.scad>
|
||||||
|
|
||||||
|
use <specs_strap.scad>
|
||||||
use <specs_platform.scad>
|
use <specs_platform.scad>
|
||||||
|
|
||||||
|
use <common.scad>
|
||||||
use <strap_common.scad>
|
use <strap_common.scad>
|
||||||
|
use <platform_common.scad>
|
||||||
|
|
||||||
if (is_model_strict(MODEL_LINKS)) {
|
if (is_model_strict(MODEL_LINKS)) {
|
||||||
echo("===============================");
|
echo("===============================");
|
||||||
@ -81,7 +89,13 @@ module clip() {
|
|||||||
slack=groove?0.2:0;
|
slack=groove?0.2:0;
|
||||||
joiner_size=[entry_size.x-6+slack, entry_size.y-6+slack, entry_size.z-3+slack];
|
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];
|
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() {
|
module model() {
|
||||||
@ -93,6 +107,7 @@ module clip() {
|
|||||||
}
|
}
|
||||||
right(clip_size.x/2) socket_cutout();
|
right(clip_size.x/2) socket_cutout();
|
||||||
left(clip_size.x/2) socket_cutout();
|
left(clip_size.x/2) socket_cutout();
|
||||||
|
screw_cutout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user