master
Vitaliy Filippov 2016-02-14 22:06:13 +00:00
parent 0fbd6febc7
commit c84126531c
1 changed files with 69 additions and 0 deletions

69
lipo.scad Normal file
View File

@ -0,0 +1,69 @@
// Lego custom li-po battery box
// (work in progress, not printable and not usable by now)
// GPLv3, (c) Vitaliy Filippov, 2016
// 30x12x64 place for battery
$fn = 40;
term();
top();
color([0.5, 1, 0.5]) bottom();
module bottom() {
union() {
difference() {
union() {
translate([0, -48, -40]) cube(size=[16, 64, 32]);
translate([0, -48+12, -6]) rotate([0, 90, 0]) cylinder(r=2, h=16); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([8, -48+12, -8]) cube(size=[16, 3.6, 3], center=true);
translate([0, -48+32, -6]) rotate([0, 90, 0]) cylinder(r=2, h=16); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([8, -48+32, -8]) cube(size=[16, 3.6, 3], center=true);
translate([0, -48+52, -6]) rotate([0, 90, 0]) cylinder(r=2, h=16); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([8, -48+52, -8]) cube(size=[16, 3.6, 3], center=true);
}
translate([2, -48+2, -40+4]) cube(size=[12, 60, 60]);
translate([1.6, -48+1.6, -40-0.1]) cube(size=[12.8, 60.8, 2+0.1]);
}
translate([8, -48+8, -40]) cylinder(r=3.2);
translate([8, -48+16, -40]) cylinder(r=3.2);
translate([8, -48+24, -40]) cylinder(r=3.2);
translate([8, -48+32, -40]) cylinder(r=3.2);
translate([8, -48+40, -40]) cylinder(r=3.2);
translate([8, -48+48, -40]) cylinder(r=3.2);
translate([8, -48+56, -40]) cylinder(r=3.2);
}
}
module top()
{
difference() {
translate([0, -48, -8]) cube(size=[16, 64, 8]);
translate([2, -48+2, -8-0.1]) cube(size=[12, 60, 6+0.1]);
translate([-1, -48+12, -6]) rotate([0, 90, 0]) cylinder(r=2, h=50); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([-1, -48+12, -8]) cube(size=[60, 3.6, 3], center=true);
translate([-1, -48+32, -6]) rotate([0, 90, 0]) cylinder(r=2, h=50); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([-1, -48+32, -8]) cube(size=[60, 3.6, 3], center=true);
translate([-1, -48+52, -6]) rotate([0, 90, 0]) cylinder(r=2, h=50); //rotate([45, 0, 0]) cube(size=[60, 3, 3], center=true);
translate([-1, -48+52, -8]) cube(size=[60, 3.6, 3], center=true);
}
}
module term()
{
difference() {
union() {
translate([4, 1.3, -0.1]) cube(size=[8, 6.8, 2+0.1]);
translate([(16-11.2)/2, 1.7, -0.1]) cube(size=[11.2, 6, 2+0.1]);
translate([(16-11.2)/2, 1.7+3, -0.1]) scale([(13-11.2)/2/3, 1, 1]) cylinder(r=3, h=2+0.1);
translate([16-(16-11.2)/2, 1.7+3, -0.1]) scale([(13-11.2)/2/3, 1, 1]) cylinder(r=3, h=2+0.1);
translate([12, 12, 0]) cylinder(r=4.9/2, h=2);
translate([4, 12, 0]) cylinder(r=4.9/2, h=2);
}
translate([(16-10.5)/2, 1.7+1.7, -0.1]) cube(size=[10.5, 3, 2.2]);
}
color([1, 0, 0]) translate([16-4-3.8-1.8, 6.3, 0]) cube(size=[1.8+3, 1.1, 2.1]);
color([0, 0, 0]) translate([4+0.8, 2.4, 0]) cube(size=[1.8+3, 1.1, 2.1]);
}