Add camera pole and lawnmower piece
This commit is contained in:
parent
cad64127d7
commit
00be1cf63f
4 changed files with 112 additions and 0 deletions
48
camera pole mount.scad
Normal file
48
camera pole mount.scad
Normal file
|
@ -0,0 +1,48 @@
|
|||
// Pole mounting bracket for camera
|
||||
// length units are millimeters
|
||||
|
||||
innerScrewToScrew = 45.34;
|
||||
outerScrewToScrew = 53.25;
|
||||
rodDiameter = 25.60;
|
||||
mountHeight = 30.00;
|
||||
|
||||
circleResolution=360*4; // faces per rotation
|
||||
|
||||
rodRadius = rodDiameter / 2;
|
||||
|
||||
screwToScrew = (innerScrewToScrew + outerScrewToScrew) / 2;
|
||||
|
||||
screwUnthreadedRadius = (outerScrewToScrew - innerScrewToScrew) / 4;
|
||||
|
||||
screwThreadedRadius = screwUnthreadedRadius * 0.80;
|
||||
|
||||
difference() {
|
||||
translate([0,0,0]) {
|
||||
difference() {
|
||||
translate([0,0,0]) {
|
||||
cylinder(r=rodRadius * 3, h=mountHeight, $fn=circleResolution);
|
||||
}
|
||||
// remove half of cylinder
|
||||
translate([-(rodRadius * 3),-(rodRadius * 4),-0.01]) {
|
||||
cube([rodRadius * 8.01, rodRadius * 4.01, mountHeight + 0.02]);
|
||||
}
|
||||
// remove screw holes
|
||||
translate([0,-0.01,(mountHeight / 2) - screwThreadedRadius]) {
|
||||
translate([-((screwToScrew / 2) -screwThreadedRadius),0,0]) {
|
||||
rotate([-90,0,0])
|
||||
#cylinder(r=screwThreadedRadius, h=mountHeight, $fn=circleResolution);
|
||||
}
|
||||
translate([screwToScrew / 2,0,0]) {
|
||||
rotate([-90,0,0])
|
||||
#cylinder(r=screwThreadedRadius, h=mountHeight, $fn=circleResolution);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
translate([0,0,-0.01]) {
|
||||
translate([0, rodRadius, 0])
|
||||
cylinder(r=rodRadius * 1.01, h=mountHeight + 0.02, $fn=circleResolution);
|
||||
translate([-rodRadius * 1.01, 0, 0])
|
||||
cube([rodRadius * 2.01, rodRadius * 1.01, mountHeight + 0.02]);
|
||||
}
|
||||
}
|
BIN
camera pole mount.stl
Normal file
BIN
camera pole mount.stl
Normal file
Binary file not shown.
64
lawnmower washer.scad
Normal file
64
lawnmower washer.scad
Normal file
|
@ -0,0 +1,64 @@
|
|||
// Lawnmower washer square thing
|
||||
// length units are millimeters
|
||||
tolerance = 1.00;
|
||||
|
||||
topMetalWasherLength = 45.00 + tolerance; // this is (basically) square
|
||||
innerShaftDiameter = 22.30;
|
||||
bulbsLength = 32.40;
|
||||
bulbsDiameter = 11.60;
|
||||
bladeWidth = 44.40 + tolerance;
|
||||
washerThickness = 2.00;
|
||||
metalWasherThickness = 3.46;
|
||||
bladeThickness = 2.24;
|
||||
|
||||
minGuideRidgeThickness = 3.00;
|
||||
|
||||
innerShaftRadius = innerShaftDiameter / 2;
|
||||
bulbRadius = bulbsDiameter / 2;
|
||||
washerLength = max(topMetalWasherLength, bladeWidth) + (minGuideRidgeThickness * 2);
|
||||
bladeRidgeThickness = max(minGuideRidgeThickness, (washerLength - bladeWidth) / 2);
|
||||
metalWasherRidgeThickness = max(minGuideRidgeThickness, (washerLength - topMetalWasherLength) / 2);
|
||||
|
||||
circleResolution=360*4; // faces per rotation
|
||||
zFightingOffset=0.01; // offset for shape subtraction
|
||||
|
||||
module shaft(height) {
|
||||
cylinder(r=innerShaftRadius, h=height, $fn=circleResolution);
|
||||
translate([-(bulbsLength - (bulbRadius * 2)) / 2,-bulbRadius,0])
|
||||
cube([bulbsLength - (bulbRadius * 2), bulbRadius * 2, height]);
|
||||
translate([innerShaftRadius, 0, 0])
|
||||
cylinder(r=bulbRadius, h=height, $fn=circleResolution);
|
||||
translate([-innerShaftRadius, 0, 0])
|
||||
cylinder(r=bulbRadius, h=height, $fn=circleResolution);
|
||||
}
|
||||
|
||||
difference() {
|
||||
translate([-washerLength / 2, -washerLength / 2, 0]) {
|
||||
cube([washerLength, washerLength, washerThickness]);
|
||||
// blade ridges
|
||||
translate([0, washerLength / 2, washerThickness - zFightingOffset]) {
|
||||
translate([0, - (bladeWidth / 2) - bladeRidgeThickness,0])
|
||||
cube([washerLength, bladeRidgeThickness, bladeThickness]);
|
||||
translate([0, bladeWidth / 2,0])
|
||||
cube([washerLength, bladeRidgeThickness, bladeThickness]);
|
||||
}
|
||||
// metal washer ridges
|
||||
translate([washerLength / 2, 0, - washerThickness + zFightingOffset]) {
|
||||
translate([-(topMetalWasherLength / 2) - metalWasherRidgeThickness, 0,0])
|
||||
cube([metalWasherRidgeThickness, washerLength, metalWasherThickness]);
|
||||
translate([topMetalWasherLength / 2,0,0])
|
||||
cube([metalWasherRidgeThickness, washerLength, metalWasherThickness]);
|
||||
}
|
||||
}
|
||||
translate([0,0,-zFightingOffset])
|
||||
rotate([0,0,0])
|
||||
shaft(washerThickness + (zFightingOffset * 2));
|
||||
/*
|
||||
// blade stand-in
|
||||
translate([-50, -bladeWidth/2, washerThickness])
|
||||
#cube([100, bladeWidth, bladeThickness]);
|
||||
// top metal washer stand-in
|
||||
translate([-topMetalWasherLength/2, -topMetalWasherLength/2, -metalWasherThickness])
|
||||
#cube([topMetalWasherLength, topMetalWasherLength, metalWasherThickness]);
|
||||
*/
|
||||
}
|
BIN
lawnmower washer.stl
Normal file
BIN
lawnmower washer.stl
Normal file
Binary file not shown.
Loading…
Reference in a new issue