89 lines
1.9 KiB
OpenSCAD
89 lines
1.9 KiB
OpenSCAD
$fn = 30; // number of faces in screw holes
|
|
|
|
thickness = 5; // thickness, this doesnt work
|
|
|
|
// main body
|
|
width = 70;
|
|
depth = 70;
|
|
height = 32;
|
|
|
|
// servo
|
|
sWidth = 15;
|
|
sDepth = 32;
|
|
sHeight = 5;
|
|
|
|
cWidth = 10; // cutout width
|
|
|
|
sDiameter = 5; // screw diameter
|
|
|
|
// top surface
|
|
difference()
|
|
{
|
|
// main
|
|
cube([width, depth, thickness]);
|
|
|
|
union()
|
|
{
|
|
// edge cutout
|
|
translate([0, 10+thickness, 0])
|
|
cube([cWidth, 45, thickness]);
|
|
|
|
// edge cutout
|
|
translate([width-cWidth, 10+thickness, 0])
|
|
cube([cWidth, 45, thickness]);
|
|
|
|
// servo hole
|
|
translate([(width/2)-(sWidth/2), 30, 0])
|
|
cube([sWidth, sDepth, sHeight]);
|
|
|
|
// screw holes
|
|
|
|
// upper left
|
|
translate([cWidth/2, width-cWidth/2, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
// upper right
|
|
translate([depth-cWidth/2, width-cWidth/2, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
|
|
/*
|
|
// lower right
|
|
translate([depth-cWidth/2, cWidth/2+thickness, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
// lower left
|
|
translate([cWidth/2, cWidth/2+thickness, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
*/
|
|
}
|
|
}
|
|
|
|
|
|
// side surface
|
|
difference()
|
|
{
|
|
// main
|
|
translate([0, 0, -height])
|
|
cube([width, thickness, height]);
|
|
|
|
union()
|
|
{
|
|
// edge cutout
|
|
translate([0, 0, -(height+5)])
|
|
cube([cWidth, 10, 27]);
|
|
|
|
// edge cutout
|
|
translate([width-cWidth, 0, -(height+5)])
|
|
cube([cWidth, 10, 27]);
|
|
|
|
// lower right
|
|
translate([depth-cWidth/2, cWidth/2, -5])
|
|
rotate([90, 0, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
|
|
// lower left
|
|
translate([cWidth/2, cWidth/2, -5])
|
|
rotate([90, 0, 0])
|
|
cylinder(h=thickness, d=sDiameter);
|
|
|
|
}
|
|
|
|
}
|