first commit of dogears
This commit is contained in:
commit
615277344f
10 changed files with 711 additions and 0 deletions
54
scad/base/hinge.scad
Normal file
54
scad/base/hinge.scad
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
//deg is the amount in degrees the hinge should be able to pivot, len_before the length of the section before the hinge, len_after the length of the section after the hinge
|
||||
module hinge(deg, len_before = 0, len_after = 0){
|
||||
|
||||
cut_points = [[6,0,5.5],
|
||||
[6,7,5.5],
|
||||
[4.5,0,7],
|
||||
[4.5,7,7],
|
||||
[6,0,7],
|
||||
[6,7,7]];
|
||||
|
||||
cut_faces = [[0,2,4],
|
||||
[1,5,3],
|
||||
[0,1,3,2],
|
||||
[0,4,5,1],
|
||||
[2,3,5,4]];
|
||||
|
||||
union(){
|
||||
difference(){
|
||||
cube([6,7,6], center = false);
|
||||
polyhedron(points = cut_points, faces = cut_faces, convexity = 10);
|
||||
translate([3,3.5,3.5]){
|
||||
rotate(90, [1,0,0]) cylinder(h = 6, r = 2, center = true, $fn = 16);
|
||||
}
|
||||
if(deg <= 45){
|
||||
translate([3,2,4.75]){
|
||||
rotate(-deg,[0,1,0]){
|
||||
translate([0,0,-4]){
|
||||
cube([4,3,4], center = false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
translate([1.75,2,3.5]){
|
||||
rotate(-deg,[0,1,0]){
|
||||
translate([0,0,-6]){
|
||||
cube([6,3,6], center = false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([4,2,1.5]) cube([4,3,4], center = false);
|
||||
}
|
||||
cube([6.5,7,1.5], center = false);
|
||||
|
||||
translate([3,3.5,3.5]){
|
||||
rotate(90, [1,0,0]) cylinder(h = 4.5, r = 1.25, center = true, $fn = 16);
|
||||
}
|
||||
translate([3,2.5,2.25]) cube([4,2,2.5], center = false);
|
||||
translate([-len_before,0,0]) cube([len_before,7,6], center = false);
|
||||
translate([7,0,0]) cube([len_after,7,6], center = false);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue