CAD/pipoint/bracket.scad
Michael Hope 93d98a10ca + ‘.gitignore’
+ ‘hab/’
+ ‘hab/18650.scad’
+ ‘hab/battery_holder.scad’
+ ‘hab/cr18650.scad’
+ ‘hab/debug.log’
+ ‘hab/libjuju.scad’
+ ‘hab/pigateway.scad’
+ ‘hab/sensemicro.scad’
+ ‘hab/thermo.scad’
...
2017-09-17 21:40:21 +02:00

81 lines
1.5 KiB
OpenSCAD

// The servo mount bracket.
module bracket(d=36) {
t = 3;
w = 30;
h = 50;
sd = 25;
$fn = 40;
// Main arm.
module arm() {
hull () {
cube([t, w, w]);
translate([0, d, w/2])
rotate(90, [0, 1, 0])
cylinder(t, w/2, w/2);
}
}
// Holes in the left arm.
module servo_holes() {
// Servo hole.
translate([0, d, w/2])
rotate(90, [0,1,0])
{
// Servo horn indent.
translate([0, 0, -1])
cylinder(1+1, sd/2, sd/2);
// Screw hole.
translate([0, 0, -1])
cylinder(t+2, 8/2, 8/2);
// Outer screw holes.
for (i = [0:90:360]) {
rotate(i)
translate([0, 8, -1])
cylinder(t+2, 2.5/2, 2.5/2);
}
}
}
module left_arm() {
difference () {
arm();
servo_holes();
}
}
module right_arm() {
difference () {
union () {
arm();
translate([2, d, w/2])
rotate(90, [0,1,0])
cylinder(2, sd/3, sd/3);
}
// Bolt hole.
translate([2-3, d, w/2])
rotate(90, [0,1,0])
cylinder(t+2+2, 3/2, 3/2);
}
}
// Bracket made of two arms and a joiner.
union () {
translate([h, 0, 0])
left_arm();
translate([0, 0, 0])
right_arm();
cube([h, t, w]);
// Fill in the corners.
translate([0+t/2, t, 0])
cylinder(w, t, t);
translate([h+t/2, t, 0])
cylinder(w, t, t);
}
}