Move sprocketed roller into its own module.
This commit is contained in:
parent
7f3f36a883
commit
aab4cc78c2
|
@ -4,3 +4,6 @@
|
|||
[submodule "scad/takeup"]
|
||||
path = scad/takeup
|
||||
url = https://git.sixteenmillimeter.com/modules/takeup.git
|
||||
[submodule "scad/sprocketed_roller"]
|
||||
path = scad/sprocketed_roller
|
||||
url = https://git.sixteenmillimeter.com/modules/sprocketed_roller.git
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
include <./common/common.scad>;
|
||||
|
||||
SprocketBaseD = 19.05; //8 frames
|
||||
SprocketBaseH = 2.7;
|
||||
|
||||
|
||||
SprocketH = 10;
|
||||
SprocketW = 0.79;
|
||||
SprocketL = 1.3;
|
||||
|
||||
InnerD = 13.98;
|
||||
InnerH = 10.6;
|
||||
|
||||
TopBaseD = 18.47;
|
||||
TopBaseH = 2.96;
|
||||
|
||||
|
||||
LipD = 18.84;
|
||||
LipH = 0.33;
|
||||
|
||||
|
||||
TopD = 21.66;
|
||||
TopH = 1.4;
|
||||
|
||||
|
||||
HollowD = 4.7;
|
||||
HollowBaseD = 12.01;
|
||||
HollowBaseH = 6.09;
|
||||
|
||||
$fn = 100;
|
||||
|
||||
module sprocket (pos = [0, 0, 0], rot = [0, 0, 0], bevel = false) {
|
||||
//cube([SprocketL, SprocketW, SprocketH], center = true);
|
||||
translate (pos) rotate(rot) {
|
||||
difference () {
|
||||
translate([0, 0, 0]) scale([1, 1, 2.25]) rotate([90, 0, 90]) cylinder(r = SprocketW/2, h = SprocketL, center = true);
|
||||
translate([0, 0, -1]) cube([2, 2, 2], center = true);
|
||||
if (bevel) {
|
||||
translate([1.5, 0, 0]) rotate([0, -5, 0]) cube([2, 2, 3], center = true);
|
||||
translate([-1.5, 0, 0]) rotate([0, 5, 0]) cube([2, 2, 3], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module sprocketed_roller (pos = [0, 0, 0], bevel = false) {
|
||||
SoundtrackH = (TopBaseH / 2) + InnerH + (SprocketBaseH / 2);
|
||||
translate(pos) {
|
||||
difference () {
|
||||
union () {
|
||||
//sprocket base
|
||||
cylinder(r = R(SprocketBaseD), h = SprocketBaseH, center = true);
|
||||
//center
|
||||
translate([0, 0, (InnerH / 2) + (SprocketBaseH / 2)]) cylinder(r = R(InnerD), h = InnerH, center = true);
|
||||
//soundtrack area
|
||||
translate([0, 0, SoundtrackH]) cylinder(r = R(TopBaseD), h = TopBaseH, center = true);
|
||||
translate([0, 0, SoundtrackH - (TopBaseH / 2) + (LipH / 2)]) cylinder(r = R(LipD), h = LipH, center = true);
|
||||
translate([0, 0, SoundtrackH + (TopBaseH / 2) - (LipH / 2)]) cylinder(r = R(LipD), h = LipH, center = true);
|
||||
translate([0, 0, SoundtrackH + (TopH / 2) + (TopBaseH / 2) - (LipH / 2)]) cylinder(r = R(TopD), h = TopH, center = true);
|
||||
}
|
||||
cylinder(r = HollowD / 2, h = 100, center = true);
|
||||
translate([0, 0, (HollowBaseH / 2) - (SprocketBaseH / 2)]) cylinder(r = R(HollowBaseD), h = HollowBaseH + 0.1, center = true);
|
||||
}
|
||||
for (i = [0: 8]) {
|
||||
rotate([0, 0, i * 360 / 8]) sprocket([(SprocketBaseD / 2) -.01, 0, (SprocketBaseH / 2) - (SprocketL / 2)], [0, 90, 0], bevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sprocketed_roller( bevel = true);
|
|
@ -1,199 +0,0 @@
|
|||
include <./common/common.scad>;
|
||||
|
||||
SprocketBaseD = 19.05; //8 frames
|
||||
SprocketBaseH = 2.7;
|
||||
FrameC = (SprocketBaseD * PI) / 8;
|
||||
|
||||
SprocketH = 10;
|
||||
SprocketW = 1;
|
||||
SprocketL = 1.5;
|
||||
|
||||
InnerH = 10.6;
|
||||
|
||||
|
||||
TopBaseD = 18.47;
|
||||
TopBaseC = (TopBaseD * PI) / 8;
|
||||
TopBaseH = 2.96;
|
||||
|
||||
LipD = 18.84;
|
||||
LipH = 0.33;
|
||||
LipC = (LipD * PI) / 8;
|
||||
|
||||
TopD = 21.66;
|
||||
TopC = (TopD * PI) / 8;
|
||||
TopH = 1.4;
|
||||
|
||||
motorShaftD = 6;
|
||||
motorShaftHobble = 0.8;
|
||||
|
||||
echo(FrameC);
|
||||
|
||||
$fn = 100;
|
||||
|
||||
module sprocket (pos = [0, 0, 0], rot = [0, 0, 0], bevel = false) {
|
||||
|
||||
translate (pos) rotate(rot) {
|
||||
difference () {
|
||||
translate([0, 0, 0]) scale([1, 1, 2.25]) rotate([90, 0, 90]) cylinder(r = SprocketW/2, h = SprocketL, center = true);
|
||||
translate([0, 0, -1]) cube([2, 2, 2], center = true);
|
||||
if (bevel) {
|
||||
translate([1.5, 0, 0]) rotate([0, -5, 0]) cube([2, 2, 3], center = true);
|
||||
translate([-1.5, 0, 0]) rotate([0, 5, 0]) cube([2, 2, 3], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module gearbox_motor_shaft (H = 16, pad = 0) {
|
||||
difference () {
|
||||
cylinder(r = R(motorShaftD) + pad, h = H, center = true, $fn = 60);
|
||||
translate([motorShaftD - motorShaftHobble + pad, 0, 0]) cube([motorShaftD, motorShaftD, H + 1], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
module gearbox_motor_shaft_void (H = 16) {
|
||||
pad = 0.2;
|
||||
gearbox_motor_shaft(H, pad);
|
||||
}
|
||||
|
||||
module bearing_laser_void (x, y, z, width= 8, hole = true) {
|
||||
innerD = 8.05;
|
||||
outerD = 22.1 - .4;
|
||||
fuzz = 0.3;
|
||||
translate ([x, y, z]) {
|
||||
difference () {
|
||||
cylinder(r = (outerD / 2) + fuzz, h = width, center = true);
|
||||
if (hole) {
|
||||
cylinder(r = innerD / 2 - fuzz, h = width, center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module m3_nut_void (pos = [0, 0, 0], rot = [0, 0, 0], H = 20) {
|
||||
translate(pos) rotate(rot) {
|
||||
translate([0, 6, -4.25 + (2.75/2)]) cube([6, 12, 2.75], center = true);
|
||||
cylinder(r = R(3.25), h = H, center = true, $fn = 30);
|
||||
translate([0, 0, -4.25]) hex(6, 2.75);
|
||||
translate([0, 0, (H/2)-4.5]) cylinder(r = R(6), h = 5, center = true, $fn = 40);
|
||||
}
|
||||
}
|
||||
|
||||
module m3_bolt_void (pos = [0, 0, 0]) {
|
||||
translate(pos) {
|
||||
cylinder(r = R(3.25), h = 40, center = true, $fn = 30);
|
||||
translate([0, 0, 14]) cylinder(r = R(6), h = 5, center = true, $fn = 40);
|
||||
}
|
||||
}
|
||||
|
||||
module sprocketed_wheel_m3_nut_void (pos = [0, 0, 0]) {
|
||||
translate(pos) {
|
||||
cylinder(r = R(3.25), h = 40, center = true, $fn = 30);
|
||||
hex(6.3, 4);
|
||||
}
|
||||
}
|
||||
|
||||
module sprocketed_roller_sprocket_wheel (pos = [0, 0, 0], rot = [0, 0, 0], sprockets = 8, D, bevel = false, bolts = false) {
|
||||
translate(pos) rotate(rot) {
|
||||
cylinder(r = R(D), h = SprocketBaseH, center = true);
|
||||
for (i = [0: sprockets]) {
|
||||
rotate([0, 0, i * 360 / sprockets]) sprocket([(D / 2) - .01, 0, (SprocketBaseH / 2) - (SprocketL / 2)], [0, 90, 0], bevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module sprocketed_roller_body (pos = [0, 0, 0], rot = [0, 0, 0], sprockets = 8, bevel = false, reinforced = false, bolts = false) {
|
||||
D = (FrameC * sprockets) / PI;
|
||||
LipD = (LipC * sprockets) / PI;
|
||||
TopD = (TopC * sprockets) / PI;
|
||||
TopBaseD = (TopBaseC * sprockets) / PI;
|
||||
InnerD = D - 5.07;
|
||||
ReinforcedRegistration = (InnerD - 5) / 2;
|
||||
ReinforcedRegistrationCorner = sqrt(pow(2.5, 2) + pow(2.5, 2));
|
||||
BoltsY = ReinforcedRegistration + 12.5;
|
||||
|
||||
echo("D", D);
|
||||
echo("LipD", LipD);
|
||||
echo("InnerD", InnerD);
|
||||
|
||||
translate(pos) rotate(rot) difference() {
|
||||
//top
|
||||
union () {
|
||||
if (!reinforced) {
|
||||
sprocketed_roller_sprocket_wheel(sprockets = sprockets, D = D, bevel = bevel);
|
||||
} else {
|
||||
cube([ReinforcedRegistration + 5, ReinforcedRegistration, SprocketBaseH], center = true);
|
||||
cube([ReinforcedRegistration, ReinforcedRegistration + 5, SprocketBaseH], center = true);
|
||||
translate([(ReinforcedRegistration/2), (ReinforcedRegistration/2), 0]) rotate([0, 0, 45]) cube([ReinforcedRegistrationCorner, ReinforcedRegistrationCorner, SprocketBaseH], center = true);
|
||||
}
|
||||
|
||||
//center
|
||||
translate([0, 0, (InnerH / 2) + (SprocketBaseH / 2)]) {
|
||||
cylinder(r = R(InnerD), h = InnerH, center = true);
|
||||
}
|
||||
|
||||
//lip
|
||||
translate([0, 0, (TopBaseH / 2) + InnerH + (SprocketBaseH / 2) - (TopBaseH / 2) + (LipH / 2)]) {
|
||||
cylinder(r = R(LipD), h = LipH, center = true);
|
||||
}
|
||||
|
||||
//bottom
|
||||
translate([0, 0, (TopH / 2) + (TopBaseH / 2) + InnerH + (SprocketBaseH / 2) + (TopBaseH / 2) - (LipH / 2)]) {
|
||||
cylinder(r = R(TopD), h = TopH, center = true);
|
||||
}
|
||||
|
||||
//bottom base
|
||||
translate([0, 0, (TopBaseH / 2) + InnerH + (SprocketBaseH / 2)]) {
|
||||
cylinder(r = R(TopBaseD), h = TopBaseH, center = true);
|
||||
}
|
||||
}
|
||||
if (reinforced && bolts) {
|
||||
m3_bolt_void([0, BoltsY/2, 0]);
|
||||
m3_bolt_void([0, -BoltsY/2, 0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module sprocketed_roller (pos = [0, 0, 0], rot = [0, 0, 0], sprockets = 8, bevel = false, reinforced = false, bolts = false, model = "", set_screw_top = false) {
|
||||
D = (FrameC * sprockets) / PI;
|
||||
difference () {
|
||||
union () {
|
||||
sprocketed_roller_body(pos = pos, rot = rot, sprockets = sprockets, bevel = bevel, reinforced = reinforced, bolts = bolts);
|
||||
//translate(pos) rotate(rot) addition();
|
||||
}
|
||||
if (model == "gearbox_motor") {
|
||||
translate(pos) rotate(rot) translate([0, 0, 10]) gearbox_motor_shaft_void();
|
||||
if (set_screw_top) {
|
||||
translate(pos) rotate(rot) rotate([180, 0, 0]) m3_bolt_void([0, 0, -11]);
|
||||
} else {
|
||||
translate(pos) rotate(rot) m3_nut_void(pos=[D/4, 0, 8.5], rot = [90, 0, 90], H = D/2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module sprocketed_roller_reinforced (pos = [0, 0, 0], rot = [0, 0, 0], sprockets = 8, bevel = true, model = "", bolts = true) {
|
||||
D = (FrameC * sprockets) / PI;
|
||||
InnerD = D - 5.07;
|
||||
ReinforcedRegistration = (InnerD - 5) / 2;
|
||||
BoltsY = ReinforcedRegistration + 12;
|
||||
difference () {
|
||||
sprocketed_roller_sprocket_wheel (pos = pos, rot = rot, sprockets = sprockets, D = D, bevel = bevel);
|
||||
scale([1.01, 1.01, 1]) sprocketed_roller (pos = pos, rot = rot, sprockets = sprockets, bevel = bevel, reinforced = true, model = model);
|
||||
if (bolts) {
|
||||
sprocketed_wheel_m3_nut_void([0, BoltsY/2, -4]);
|
||||
sprocketed_wheel_m3_nut_void([0, -BoltsY/2, -4]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LIBRARY = false;
|
||||
PART = "sprocketed_roller_reinforced";
|
||||
if (!LIBRARY && PART == "sprocketed_roller_reinforced") {
|
||||
rotate([180, 0, 0]) sprocketed_roller(sprockets = 18, bevel = false, model = "gearbox_motor", reinforced = true, bolts = true, set_screw_top = true);
|
||||
} else if (!LIBRARY && PART == "sprocketed_wheel") {
|
||||
rotate([180, 0, 0]) color("red") sprocketed_roller_reinforced(sprockets = 18, bevel = false, model = "gearbox_motor", bolts = true);
|
||||
}
|
||||
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
include <./16mm_sprocketed_roller_var.scad>;
|
||||
|
||||
include <./lamp.scad>;
|
||||
include <./box_laser.scad>;
|
||||
include <./common/common.scad>;
|
||||
include <./common/motors.scad>;
|
||||
include <./common/2020_tslot.scad>;
|
||||
include <./takeup/takeup.scad>;
|
||||
include <./sprocketed_roller/sprocketed_roller_var.scad>;
|
||||
|
||||
IN = 25.4;
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit e053ac5a2aa428248d6041a88e304c25df656bc0
|
Loading…
Reference in New Issue