79 lines
No EOL
1.9 KiB
OpenSCAD
79 lines
No EOL
1.9 KiB
OpenSCAD
use <hinge.scad>;
|
|
|
|
module dogearAllOptions(a1, a2, a3, a4){
|
|
translate([25,0,0]){
|
|
union(){
|
|
linear_extrude(height = 6, center = false, convexity = 10){
|
|
polygon(points = [[-33,0],[-25,0],[-25,7]]);
|
|
}
|
|
hinge(a1, lb = 25, la = 5.5);
|
|
translate([12.5,0,0]) hinge(a2, lb = 0, la = 5.5);
|
|
translate([25,0,0]) hinge(a3, lb = 0, la = 5.5);
|
|
|
|
translate([0,37,0]) hinge(a1, lb = 8, la = 5.5);
|
|
translate([12.5,37,0]) hinge(a2, lb = 0, la = 5.5);
|
|
translate([25,37,0]) hinge(a3, lb = 0, la = 8);
|
|
|
|
translate([34,0,0]){
|
|
cube([7,18.5,6]);
|
|
translate([3.5,18.5,0]) cylinder(h = 6, r = 3.5, center = false, $fn=32);
|
|
}
|
|
translate([40,40.5,0]) cylinder(h = 6, r = 3.5, center = false, $fn=32);
|
|
translate([53,0,0]) cube([24,7,6], center = false);
|
|
|
|
translate([40,11,0]){
|
|
rotate(-45,[0,0,1]){
|
|
hinge(a4, lb = 7, la = 7);
|
|
translate([14.1,3.5,0]){
|
|
cylinder(h = 6, r = 3.5, center = false, $fn=32);
|
|
}
|
|
translate([0,17.3,0]) hinge(a4, lb = 21, la = 24.6);
|
|
translate([31.4,20.8,0]) cylinder(h = 6, r = 3.5, center = false, $fn=32);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
module dogear(flopness){
|
|
|
|
a1 = 30;
|
|
a2 = 30;
|
|
a3 = 30;
|
|
a4 = 45;
|
|
|
|
if(flopness == "vvvflop"){
|
|
a1 = 45;
|
|
a2 = 45;
|
|
a3 = 45;
|
|
dogearAllOptions(a1, a2, a3, a4);
|
|
}
|
|
else{
|
|
if(flopness == "vvflop"){
|
|
a1 = 40;
|
|
a2 = 40;
|
|
a3 = 40;
|
|
dogearAllOptions(a1, a2, a3, a4);
|
|
}
|
|
else{
|
|
if(flopness == "vflop"){
|
|
a1 = 35;
|
|
a2 = 35;
|
|
a3 = 35;
|
|
dogearAllOptions(a1, a2, a3, a4);
|
|
}
|
|
else{
|
|
if(flopness == "lflop"){
|
|
a1 = 15;
|
|
a2 = 15;
|
|
a3 = 15;
|
|
a4 = 30;
|
|
dogearAllOptions(a1, a2, a3, a4);
|
|
}
|
|
else{
|
|
dogearAllOptions(a1, a2, a3, a4);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |