208 lines
4.3 KiB
OpenSCAD
208 lines
4.3 KiB
OpenSCAD
$fn=45;
|
|
|
|
translate([-65,-22.5,24])
|
|
%buck_reg();
|
|
%batt_plate();
|
|
%batt_clip();
|
|
translate([-40,4,8])
|
|
%cutoff();
|
|
|
|
// render each of these individually
|
|
|
|
%base();
|
|
lid();
|
|
|
|
module lid()
|
|
{
|
|
translate([-80,-25,3])
|
|
difference()
|
|
{
|
|
minkowski()
|
|
{
|
|
cube([135,50,50]);
|
|
sphere(d=20);
|
|
}
|
|
translate([3,3,-3])
|
|
minkowski()
|
|
{
|
|
cube([129,44,50]);
|
|
sphere(d=20);
|
|
}
|
|
translate([-10,-10,-10])
|
|
cube([155,70,10]);
|
|
|
|
for (x=[10:10:70])
|
|
translate([x,-10,10])
|
|
cube([4,70,35]);
|
|
}
|
|
|
|
translate([-82.5,-27.5,3])
|
|
lid_hole();
|
|
translate([-82.5,27.5,3])
|
|
lid_hole();
|
|
translate([57.5,-27.5,3])
|
|
lid_hole();
|
|
translate([57.5,27.5,3])
|
|
lid_hole();
|
|
}
|
|
|
|
module lid_hole()
|
|
{
|
|
difference()
|
|
{
|
|
cylinder(d=10, h=20);
|
|
cylinder(d=3.2, h=20);
|
|
}
|
|
}
|
|
|
|
module cutoff()
|
|
{
|
|
import("BatteryCutoff.stl");
|
|
}
|
|
|
|
module buck_reg()
|
|
{
|
|
difference()
|
|
{
|
|
cube([60,45,1.6]);
|
|
translate([1.6+3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=3.05, h=2.6);
|
|
translate([1.6+3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=3.05, h=2.6);
|
|
translate([60-1.65-3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=3.05, h=2.6);
|
|
translate([60-1.65-3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=3.05, h=2.6);
|
|
}
|
|
translate([6.8,-4.88,1.6])
|
|
cube([45,45+2*4.88,25]);
|
|
};
|
|
|
|
module buck_reg_holes_s()
|
|
{
|
|
translate([1.6+3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=10, h=21.5);
|
|
translate([1.6+3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=10, h=21.5);
|
|
translate([60-1.65-3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=10, h=21.5);
|
|
translate([60-1.65-3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=10, h=21.5);
|
|
}
|
|
|
|
module buck_reg_holes_d()
|
|
{
|
|
translate([1.6+3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=3.05, h=21.5);
|
|
translate([1.6+3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=3.05, h=21.5);
|
|
translate([60-1.65-3.05/2, 1.55+3.05/2, -.5])
|
|
cylinder(d=3.05, h=21.5);
|
|
translate([60-1.65-3.05/2, 45-1.85-3.05/2, -.5])
|
|
cylinder(d=3.05, h=21.5);
|
|
}
|
|
|
|
module batt_plate()
|
|
{
|
|
translate([240,112,0])
|
|
rotate([180,0,0])
|
|
import("Ryobi_18V_Batt_Connect_USB.stl");
|
|
}
|
|
|
|
module base()
|
|
{
|
|
translate([-65,-22.5,3])
|
|
difference()
|
|
{
|
|
buck_reg_holes_s();
|
|
buck_reg_holes_d();
|
|
}
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
translate([-80,-25])
|
|
{
|
|
linear_extrude(3, convexity=10)
|
|
minkowski()
|
|
{
|
|
square([135,50]);
|
|
circle(d=20);
|
|
}
|
|
}
|
|
translate([-5,-15,3])
|
|
cube([10,30,3]);
|
|
translate([45,-15,3])
|
|
cube([10,30,3]);
|
|
base_holes_s();
|
|
}
|
|
base_holes_d();
|
|
translate([-82.5,-27.5,0])
|
|
cs_hole();
|
|
translate([-82.5,27.5,0])
|
|
cs_hole();
|
|
translate([57.5,-27.5,0])
|
|
cs_hole();
|
|
translate([57.5,27.5,0])
|
|
cs_hole();
|
|
}
|
|
translate([-10,0,3])
|
|
{
|
|
translate([-70.5,-14.5,0])
|
|
{
|
|
cube([65.5,2,5]);
|
|
cube([2,28,5]);
|
|
}
|
|
translate([-70.5,13.5,0])
|
|
cube([65.5,2,5]);
|
|
translate([-6,-14.5,0])
|
|
cube([2,28,5]);
|
|
}
|
|
}
|
|
|
|
module cs_hole()
|
|
{
|
|
cylinder(d1=7, d2=3.5, h=1.5);
|
|
cylinder(d=3.5, h=3);
|
|
}
|
|
|
|
module base_holes_s()
|
|
{
|
|
cylinder(d=7.2, h=10);
|
|
translate([50,0,0])
|
|
cylinder(d=7.2, h=10);
|
|
translate([47,20,0])
|
|
cylinder(d=7.2, h=10);
|
|
translate([47,-20,0])
|
|
cylinder(d=7.2, h=10);
|
|
translate([-53,20,0])
|
|
cylinder(d=7.2, h=10);
|
|
translate([-53,-20,0])
|
|
cylinder(d=7.2, h=10);
|
|
|
|
}
|
|
|
|
module base_holes_d()
|
|
{
|
|
cylinder(d=3.2, h=10);
|
|
translate([50,0,0])
|
|
cylinder(d=3.2, h=10);
|
|
translate([47,20,0])
|
|
cylinder(d=3.2, h=10);
|
|
translate([47,-20,0])
|
|
cylinder(d=3.2, h=10);
|
|
translate([-53,20,0])
|
|
cylinder(d=3.2, h=10);
|
|
translate([-53,-20,0])
|
|
cylinder(d=3.2, h=10);
|
|
translate([5,-17,0])
|
|
cube([40,34,3]);
|
|
translate([-6.7,-9,0])
|
|
cube([62.4,18,2.4]);
|
|
}
|
|
|
|
module batt_clip()
|
|
{
|
|
translate([34.5,-52,0])
|
|
import("Ryobi_18V_Battery_Connector_Tower_V3.stl");
|
|
} |