Added laptop bottom
This commit is contained in:
71
laptop-bottom.scad
Normal file
71
laptop-bottom.scad
Normal file
@@ -0,0 +1,71 @@
|
||||
module bottom_model()
|
||||
{
|
||||
kbheight = 124;
|
||||
kbwidth = 286;
|
||||
color([0, 0.6, 0.5])
|
||||
translate([0, -220, 0])
|
||||
difference() {
|
||||
union() {
|
||||
hull() {
|
||||
translate([width / 2.0 - radius + 24, -height / 2.0 + radius - 4, radius4 / 1.5]) sphere(radius4);
|
||||
translate([-width / 2.0 + radius - 24, -height / 2.0 + radius - 4, radius4 / 1.5]) sphere(radius4);
|
||||
translate([width / 2.0 - radius + 24, height / 2.0 - radius + 4, radius4 / 1.5]) sphere(radius4);
|
||||
translate([-width / 2.0 + radius - 24, , height / 2.0 - radius + 4, radius4 / 1.5]) sphere(radius4);
|
||||
|
||||
translate([width / 2.0 - radius + 24, -height / 2.0 + radius - 4, 22.0 - radius4 / 1.5]) sphere(radius4);
|
||||
translate([-width / 2.0 + radius - 24, -height / 2.0 + radius - 4, 22.0 - radius4 / 1.5]) sphere(radius4);
|
||||
translate([width / 2.0 - radius + 24, height / 2.0 - radius + 4, 22.0 - radius4 / 1.5]) sphere(radius4);
|
||||
translate([-width / 2.0 + radius - 24 , height / 2.0 - radius + 4, 22.0 - radius4 / 1.5]) sphere(radius4);
|
||||
}
|
||||
hull() {
|
||||
translate([-width / 2.0 + 1, height / 2.0 - 5, radius4 / 1.5 + 4])
|
||||
rotate(90, [0, 1, 0])
|
||||
cylinder(width - 2, 8.0, 8.0);
|
||||
translate([-width / 2.0 + 1, height / 2.0 + 10, radius4 / 1.5 + 20.0])
|
||||
rotate(90, [0, 1, 0])
|
||||
cylinder(width - 2, 8.0, 8.0);
|
||||
}
|
||||
}
|
||||
union() {
|
||||
translate([0, -110, -100]) cube([15, 220, 200]);
|
||||
translate([-width / 2.0 + 25, kbheight / 2.0, 20]) cube([30, 40, 30]);
|
||||
translate([width / 2.0 - 25 - 30, kbheight / 2.0, 20]) cube([30, 40, 30]);
|
||||
translate([-width / 2.0 - 10.0, height / 2.0 + 10, radius4 / 1.5 + 20.0])
|
||||
rotate(90, [0, 1, 0])
|
||||
cylinder(width + 20, 3.5, 3.5);
|
||||
hull() {
|
||||
xpass = kbwidth / 2.0 - radius4 - 3.0;
|
||||
translate([-xpass, -kbheight / 2.0 + 12 + 6, 30]) sphere(radius4);
|
||||
translate([xpass, -kbheight / 2.0 + 12 + 6, 30]) sphere(radius4);
|
||||
translate([-xpass, kbheight / 2.0 + 12 - 6, 30]) sphere(radius4);
|
||||
translate([xpass, kbheight / 2.0 + 12 - 6, 30]) sphere(radius4);
|
||||
translate([-xpass, -kbheight / 2.0 + 12 + 6, 10]) sphere(radius4);
|
||||
translate([xpass, -kbheight / 2.0 + 12 + 6, 10]) sphere(radius4);
|
||||
translate([-xpass, kbheight / 2.0 + 12 - 6, 10]) sphere(radius4);
|
||||
translate([xpass, kbheight / 2.0 + 12 - 6, 10]) sphere(radius4);
|
||||
}
|
||||
// bottom hole
|
||||
translate([-100, -45, -30]) cube([200, 110, 60]);
|
||||
// translate([-width / 2 - 8, -45, 5]) cube([width + 20, 124, 60]);
|
||||
translate([-kbwidth / 2, -85, 16]) cube([kbwidth, 165, 6.5]);
|
||||
translate([-kbwidth / 2 + 2, -85, 2]) cube([kbwidth - 4, 165, 20]);
|
||||
// snap fits
|
||||
translate([0, -height / 2.0 - 3.1, 9]) snapfit_neg();
|
||||
translate([0, -height / 2.0 - 3.1, 17]) snapfit_neg();
|
||||
translate([0, height / 2.0 - 1, 9]) rotate(180, [1, 0, 0]) snapfit_neg();
|
||||
translate([0, height / 2.0 - 1, 17]) rotate(180, [1, 0, 0])snapfit_neg();
|
||||
translate([19, height / 2.0 - 15, -5]) cube([6, 6, 10]);
|
||||
translate([-10, height / 2.0 - 15, -5]) cube([6, 6, 10]);
|
||||
translate([19, -height / 2.0 + 15, -5]) cube([6, 6, 10]);
|
||||
translate([-10, -height / 2.0 + 15, -5]) cube([6, 6, 10]);
|
||||
}
|
||||
}
|
||||
// snap fits
|
||||
translate([0, -220, 0]) {
|
||||
translate([0, -height / 2.0 - 2.8, 9]) snapfit();
|
||||
translate([0, -height / 2.0 - 2.8, 17]) snapfit();
|
||||
translate([0, height / 2.01 - 2, 9]) rotate(180, [1, 0, 0]) snapfit();
|
||||
translate([0, height / 2.01 - 2, 17]) rotate(180, [1, 0, 0])snapfit();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user