37 lines
1.1 KiB
OpenSCAD
37 lines
1.1 KiB
OpenSCAD
use <./common/common.scad>;
|
|
|
|
PinD = 4.4;
|
|
|
|
RollerD1 = 25.5;
|
|
RollerD2 = 25;
|
|
RollerH = 21;
|
|
|
|
BrimD = 30;
|
|
BrimH = 2;
|
|
|
|
RollerVoidD1 = 20;
|
|
RollerVoidD2 = 10;
|
|
|
|
module guillotine_tape_roller () {
|
|
difference() {
|
|
union () {
|
|
cylinder(r1 = R(RollerD1), r2 = R(RollerD2), h = RollerH, center = true, $fn = 100);
|
|
translate([0, 0, -R(RollerH) + R(BrimH) ]) cylinder(r = R(BrimD), h = BrimH, center = true, $fn = 100);
|
|
}
|
|
cylinder(r = R(PinD), h = 50, center = true, $fn = 40);
|
|
translate([0, 0, -R(RollerH) + 0.99]) cylinder(r1 = R(PinD + 2), r2 = R(PinD), h = 2, center = true, $fn = 40);
|
|
translate([0, 0, 5]) difference () {
|
|
cylinder(r = R(RollerVoidD1), h = RollerH, center = true, $fn = 100);
|
|
cylinder(r = R(RollerVoidD2), h = RollerH + 1, center = true, $fn = 100);
|
|
}
|
|
}
|
|
for (i = [0 : 3]) {
|
|
rotate([0, 0, i*90]) translate([7, 0, 0]) cube([7.5, 3, RollerH], center = true);
|
|
}
|
|
}
|
|
|
|
PART = "guillotine_tape_roller";
|
|
|
|
if (PART == "guillotine_tape_roller") {
|
|
guillotine_tape_roller();
|
|
} |