mcopy/scad/arri_s.scad

73 lines
1.8 KiB
OpenSCAD

// Arri-S Animation Motor
include <../common.scad>;
BarrelDiameter = 40;
BarrelLength = 75;
SeatDiameter = 20;
SeatLength = 3;
CapLength = 30;
CapDiameter = 30;
CapThickness = 3;
CapCatchDiameter = 28;
CapCatchLength = 2;
CapCatchOffset = 24;
CapRimDiameter = 37;
CapRimThickness = 3;
NotchDiameter = 2;
NotchOffset = 3;
DriveLength = 8;
DriveDiameter1 = 14;
DriveDiameter2 = 12;
module motorBarrel () {
$fn = 200;
cylinder(r = BarrelDiameter / 2, r2 = (BarrelDiameter - 1) / 2, h = BarrelLength, center = true);
}
module motorSeat () {
$fn = 120;
cylinder(r = SeatDiameter / 2, h = SeatLength, center = true);
}
module motor () {
motorBarrel();
translate([0, 0, (BarrelLength / 2) + (SeatLength / 2)]) motorSeat();
//notch
$fn = 50;
translate([BarrelDiameter / 2, 0, -(BarrelLength / 2) + NotchOffset]) {
rotate([0, 90, 0]) {
cylinder(r = NotchDiameter / 2, h = 1, center = true);
translate([0, 0, NotchDiameter / 4]) sphere(r = NotchDiameter / 2);
}
}
}
module capBellowsAdapter () {
$fn = 200;
difference () {
cylinder(r = CapDiameter / 2, h = CapLength, center = true);
cylinder(r = (CapDiameter - CapThickness) / 2, h = CapLength + 1, center = true);
//catch
translate([0, 0, (CapLength / 2) - CapCatchOffset]) difference () {
cylinder(r = (CapDiameter + 1) / 2, h = CapCatchLength, center = true);
cylinder(r = CapCatchDiameter / 2, h = CapCatchLength + 1, center = true);
}
}
translate([0, 0, (CapLength / 2) + (CapRimThickness / 2)]) {
difference () {
cylinder(r = CapRimDiameter / 2, h = CapRimThickness, center = true);
cube([CapDiameter - CapThickness - 8, CapDiameter - CapThickness - 8, CapRimThickness + 1], center = true);
}
}
}
motor();
//capBellowsAdapter();