initial work for integrating sbc model framework v2
This commit is contained in:
97
lib/standoff.scad
Normal file
97
lib/standoff.scad
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
|
||||
standoff(standoff[radius,height,holesize,supportsize,supportheight,sink,style,i_dia,i_depth])
|
||||
|
||||
*/
|
||||
|
||||
/* standoff module
|
||||
standoff(standoff[radius,height,holesize,supportsize,supportheight,sink,style,reverse,insert_e,i_dia,i_depth])
|
||||
sink=0 none
|
||||
sink=1 countersink
|
||||
sink=2 recessed hole
|
||||
sink=3 nut holder
|
||||
sink=4 blind hole
|
||||
|
||||
style=0 hex shape
|
||||
style=1 cylinder
|
||||
*/
|
||||
module standoff(stand_off){
|
||||
|
||||
radius = stand_off[0];
|
||||
height = stand_off[1];
|
||||
holesize = stand_off[2];
|
||||
supportsize = stand_off[3];
|
||||
supportheight = stand_off[4];
|
||||
sink = stand_off[5];
|
||||
style = stand_off[6];
|
||||
reverse = stand_off[7];
|
||||
insert_e = stand_off[8];
|
||||
i_dia = stand_off[9];
|
||||
i_depth = stand_off[10];
|
||||
|
||||
adjust = 0.1;
|
||||
|
||||
difference (){
|
||||
union () {
|
||||
if(style == 0 && reverse == 0) {
|
||||
rotate([0,0,30]) cylinder(d=radius*2/sqrt(3),h=height,$fn=6);
|
||||
}
|
||||
if(style == 0 && reverse == 1) {
|
||||
translate([0,0,-height]) rotate([0,0,30]) cylinder(d=radius*2/sqrt(3),h=height,$fn=6);
|
||||
}
|
||||
if(style == 1 && reverse == 0) {
|
||||
cylinder(d=radius,h=height,$fn=90);
|
||||
}
|
||||
if(style == 1 && reverse == 1) {
|
||||
translate([0,0,-height]) cylinder(d=radius,h=height,$fn=90);
|
||||
}
|
||||
if(reverse == 1) {
|
||||
translate([0,0,-supportheight]) cylinder(d=(supportsize),h=supportheight,$fn=60);
|
||||
}
|
||||
else {
|
||||
cylinder(d=(supportsize),h=supportheight,$fn=60);
|
||||
}
|
||||
}
|
||||
// hole
|
||||
if(sink <= 3 && reverse == 0) {
|
||||
translate([0,0,-adjust]) cylinder(d=holesize, h=height+(adjust*2),$fn=90);
|
||||
}
|
||||
if(sink <= 3 && reverse == 1) {
|
||||
translate([0,0,-adjust-height]) cylinder(d=holesize, h=height+(adjust*2),$fn=90);
|
||||
}
|
||||
// countersink hole
|
||||
if(sink == 1 && reverse == 0) {
|
||||
translate([0,0,-adjust]) cylinder(d1=6.5, d2=(holesize), h=3);
|
||||
}
|
||||
if(sink == 1 && reverse == 1) {
|
||||
translate([0,0,+adjust-2.5]) cylinder(d1=(holesize), d2=6.5, h=3);
|
||||
}
|
||||
// recessed hole
|
||||
if(sink == 2 && reverse == 0) {
|
||||
translate([0,0,-adjust]) cylinder(d=6.5, h=3);
|
||||
}
|
||||
if(sink == 2 && reverse == 1) {
|
||||
translate([0,0,+adjust-3]) cylinder(d=6.5, h=3);
|
||||
}
|
||||
// nut holder
|
||||
if(sink == 3 && reverse == 0) {
|
||||
translate([0,0,-adjust]) cylinder(r=3.3,h=3,$fn=6);
|
||||
}
|
||||
if(sink == 3 && reverse == 1) {
|
||||
translate([0,0,+adjust-3]) cylinder(r=3.3,h=3,$fn=6);
|
||||
}
|
||||
// blind hole
|
||||
if(sink == 4 && reverse == 0) {
|
||||
translate([0,0,2]) cylinder(d=holesize, h=height,$fn=90);
|
||||
}
|
||||
if(sink == 4 && reverse == 1) {
|
||||
translate([0,0,-height-2-adjust]) cylinder(d=holesize, h=height,$fn=90);
|
||||
}
|
||||
if(insert_e > 0 && reverse == 0) {
|
||||
translate([0,0,height-i_depth]) cylinder(d=i_dia, h=i_depth+adjust,$fn=90);
|
||||
}
|
||||
if(insert_e > 0 && reverse == 1) {
|
||||
translate([0,0,-height-adjust]) cylinder(d=i_dia, h=i_depth+adjust,$fn=90);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user