Rework panel to be smaller and to fit between two supports. Added voids for idle roller posts.

This commit is contained in:
Matt McWilliams 2023-05-09 14:57:23 -04:00
parent 7a0ba199ff
commit 0a35d46777
1 changed files with 80 additions and 37 deletions

View File

@ -1,5 +1,5 @@
include <./lamp.scad>; //include <./lamp.scad>;
include <./box_laser.scad>; include <./box_laser.scad>;
include <./common/common.scad>; include <./common/common.scad>;
include <./common/motors.scad>; include <./common/motors.scad>;
@ -20,8 +20,9 @@ DaylightW = 92;
DaylightH = 18; DaylightH = 18;
PanelX = 130; PanelX = 130;
PanelY = 185; PanelY = 100;
PanelZ = 5; PanelZ = 5;
PanelYOffset = 10;
PanelDimensions = [PanelX, PanelY, PanelZ]; PanelDimensions = [PanelX, PanelY, PanelZ];
MotorZ = -16; MotorZ = -16;
@ -44,8 +45,13 @@ IdleRollerPrintY = 5;
IdleRollerNegativeX = 35; IdleRollerNegativeX = 35;
IdleRollerNegativeY = -10; IdleRollerNegativeY = -10;
echo("Frame 2020 X (x2)", FrameX); IdleRollerBoltH = 30;
echo("Frame 2020 Y (x2)", FrameY + 20);
PictureTakeupMotorRotationZ = -70;
StockTakeupMotorRotationZ = 180-70;
echo("Frame 2020 X (x2)", FrameX + 20);
echo("Frame 2020 Y (x4)", FrameY);
/* /*
AT = 25.4 * 0.22; AT = 25.4 * 0.22;
@ -821,11 +827,14 @@ module debug () {
//translate([50, 0, 0]) cube([100, 100, 100], center = true); //translate([50, 0, 0]) cube([100, 100, 100], center = true);
} }
//lamp //lamp
lamp([0, LampY, 0 + 2]); //difference () {
//color("green") lamp_cover([0, LampY + 15, 23]); lamp([0, LampY, 0 + 1]);
// translate([45, LampY, 0 + 2]) cube([100, 100, 100], center = true);
//}
color("green") lamp_cover([0, LampY + 15, 21]);
color("red") lamp_bolts_voids([0, LampY + 15, (LampBoltH/2) - 1.5 - 2.5]); color("red") lamp_bolts_voids([0, LampY + 15, (LampBoltH/2) - 1.5 - 2.5]);
//gates //gates
translate([-5.35, LampY -7, 11 + 1 + .1]) rotate([0, 0, 7]) color("blue") picture_gate(); translate([-5.35, LampY -7.1, 11 + 1 + .1]) rotate([0, 0, 7]) color("blue") picture_gate();
//idle rollers //idle rollers
idle_roller([ IdleRollerPrintX, IdleRollerPrintY, 3]); idle_roller([ IdleRollerPrintX, IdleRollerPrintY, 3]);
@ -833,23 +842,28 @@ module debug () {
idle_roller([ IdleRollerNegativeX, IdleRollerNegativeY, 3]); idle_roller([ IdleRollerNegativeX, IdleRollerNegativeY, 3]);
idle_roller([-IdleRollerNegativeX, IdleRollerNegativeY, 3]); idle_roller([-IdleRollerNegativeX, IdleRollerNegativeY, 3]);
//active roller //active roller
//centered_geared_motor([0, RollerY, MotorZ], [180, 0, 90]); centered_geared_motor([0, RollerY, MotorZ], [180, 0, 90]);
//feed //feed
translate([-100, 50, DaylightZ]) daylight_spool(); //translate([-100, 50, DaylightZ]) daylight_spool();
translate([-100, -50, DaylightZ]) daylight_spool(); //translate([-100, -50, DaylightZ]) daylight_spool();
//takeup //takeup
translate([100, 50, DaylightZ]) daylight_spool(); //translate([100, 50, DaylightZ]) daylight_spool();
translate([100, -50, DaylightZ]) daylight_spool(); //translate([100, -50, DaylightZ]) daylight_spool();
centered_geared_motor([100, 50, MotorZ], [180, 0, 180]); centered_geared_motor([100, 50, MotorZ], [180, 0, PictureTakeupMotorRotationZ]);
centered_geared_motor([100, -50, MotorZ], [180, 0, 180]); centered_geared_motor([100, -50, MotorZ], [180, 0, StockTakeupMotorRotationZ]);
//translate([0, 0, DaylightZ]) color("red", 0.25) cube([250, 100, 16], center = true); //translate([0, 0, DaylightZ]) color("red", 0.25) cube([250, 100, 16], center = true);
//2020 frame //2020 frame
//top/bottom
translate([0, (FrameY/2) + 10, FrameZ]) rotate([0, 90, 0]) 2020_tslot(FrameX + 20); translate([0, (FrameY/2) + 10, FrameZ]) rotate([0, 90, 0]) 2020_tslot(FrameX + 20);
translate([0, -(FrameY/2) - 10, FrameZ]) rotate([0, 90, 0]) 2020_tslot(FrameX + 20); translate([0, -(FrameY/2) - 10, FrameZ]) rotate([0, 90, 0]) 2020_tslot(FrameX + 20);
//far sides
translate([FrameX/2, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY); translate([FrameX/2, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY);
translate([-FrameX/2, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY); translate([-FrameX/2, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY);
//inner rails
translate([(PanelX/2) - 10, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY);
translate([-(PanelX/2) + 10, 0, FrameZ]) rotate([90, 0, 0]) 2020_tslot(FrameY);
} }
/** /**
@ -899,6 +913,13 @@ module lamp_bolt_void (pos = [0, 0, 0], H = LampBoltH) {
} }
} }
module idle_roller_bolt_void (pos = [0, 0, 0], H = IdleRollerBoltH) {
translate(pos) {
cylinder(r = R(4.25), h = H, center = true);
translate([0, 0, -H/2]) m4_nut();
}
}
module lamp_bolts_voids (pos = [0, 0, 0], H = 10) { module lamp_bolts_voids (pos = [0, 0, 0], H = 10) {
X = LampBoltX/2; X = LampBoltX/2;
Y = LampBoltY/2; Y = LampBoltY/2;
@ -945,8 +966,9 @@ module lamp_gate_bracket (pos = [0, 0, 0], rot = [0, 0, 0]) {
} }
module picture_gate_bracket (pos = [0, 0, 0], rot = [0, 0, 0]) { module picture_gate_bracket (pos = [0, 0, 0], rot = [0, 0, 0]) {
translate(pos) rotate(rot) { translate(pos) rotate(rot) difference() {
lamp_gate_bracket(); lamp_gate_bracket();
translate([0, 0, 0]) cube([4, 20, 17], center = true);
} }
} }
@ -966,9 +988,12 @@ module sound_gate_bracket (pos = [0, 0, 0], rot = [0, 0, 0]) {
module gate_blank () { module gate_blank () {
X = LampGateX; X = LampGateX;
//front //front
translate([0, -6, 0]) cube([X-7.1, 1.4, 20], center = true); translate([0, -6.25, 0]) cube([X-7.2, 1.2, 19.25], center = true);
//backing //middle
translate([0, -5.1, -0.5]) cube([X-4.1, 1.4, 16.8], center = true); translate([0, -5.1, -0.5]) cube([X-4.2, 1.4, 19], center = true);
//top
translate([0, -5.9, 9]) cube([X-4.2, 3, 2], center = true);
} }
//standard, super, full, sound //standard, super, full, sound
module picture_gate (pos = [0, 0, 0], rot = [0, 0, 0], Type = "full", Width = 2) { module picture_gate (pos = [0, 0, 0], rot = [0, 0, 0], Type = "full", Width = 2) {
@ -979,9 +1004,9 @@ module picture_gate (pos = [0, 0, 0], rot = [0, 0, 0], Type = "full", Width = 2)
gate_blank(); gate_blank();
} }
if (Type == "standard") { if (Type == "standard") {
translate([0, -6, -0.7]) cube([Width, 3, 16mmFilmStandard], center = true); translate([0, -6, -0.7]) cube([Width, 10, 16mmFilmStandard], center = true);
} else if (Type == "full") { } else if (Type == "full") {
translate([0, -6, -1.1]) cube([Width, 3, 16mmFilmFull], center = true); translate([0, -6, -1.1]) cube([Width, 10, 16mmFilmFull], center = true);
} else if (Type == "super") { } else if (Type == "super") {
} }
@ -990,10 +1015,14 @@ module picture_gate (pos = [0, 0, 0], rot = [0, 0, 0], Type = "full", Width = 2)
} }
module lamp (pos = [0, 0, 0]) { module lamp (pos = [0, 0, 0]) {
Z = 10;
WallZ = Z;
GateZ = Z;
PostsZ = Z - 1;
translate(pos) { translate(pos) {
intersection () { intersection () {
difference () { difference () {
rounded_cube([70, 70, 4], d = 4, center = true); rounded_cube([70, 70, 2], d = 4, center = true);
translate([0, -45, 0]) cylinder(r = R(60), h = 4 + 1, center = true, $fn = 200); translate([0, -45, 0]) cylinder(r = R(60), h = 4 + 1, center = true, $fn = 200);
lamp_bolts_voids([0, 15, -2]); lamp_bolts_voids([0, 15, -2]);
translate([LampWireX, LampWireY, 0]) cylinder(r = R(10), h = 10, center = true); translate([LampWireX, LampWireY, 0]) cylinder(r = R(10), h = 10, center = true);
@ -1002,17 +1031,17 @@ module lamp (pos = [0, 0, 0]) {
translate([0, 45, 0]) cylinder(r = R(130), h = 4 + 1, center = true, $fn = 200); translate([0, 45, 0]) cylinder(r = R(130), h = 4 + 1, center = true, $fn = 200);
} }
//walls //walls
translate([0, 15, 11]) difference () { translate([0, 15, WallZ]) difference () {
rounded_cube([70, 40, 18], d = 4, center = true); rounded_cube([70, 40, 18], d = 4, center = true);
cube([70-6, 40-6, 18 + 1], center = true); cube([70-6, 40-6, 18 + 1], center = true);
translate([0, -20, 0]) cube([20, 40-6, 18 + 1], center = true); translate([0, -20, 0]) cube([20, 40-6, 18 + 1], center = true);
} }
lamp_posts([0, 15, 10]); lamp_posts([0, 15, PostsZ]);
//sound //sound
difference () { difference () {
union () { union () {
sound_gate_bracket([5.35, -7, 11], [0, 0, -7]); sound_gate_bracket([5.35, -7, GateZ], [0, 0, -7]);
picture_gate_bracket([-5.35, -7, 11], [0, 0, 7]); picture_gate_bracket([-5.35, -7, GateZ], [0, 0, 7]);
} }
translate([0, -53.5, 11]) cylinder(r = R(80), h = 18.01, center = true, $fn = 200); translate([0, -53.5, 11]) cylinder(r = R(80), h = 18.01, center = true, $fn = 200);
} }
@ -1036,12 +1065,18 @@ module lamp_cover (pos = [0, 0, 0]) {
} }
module panel (pos = [0, 0, 0]) { module panel (pos = [0, 0, 0]) {
BoltY = (PanelY-10)/2; BoltX = (PanelX-10)/2;
BoltX = (PanelX-30)/2; BoltY2 = (PanelY)/2;
BoltY1 = 30;
MotorMountX = (GearedMotorMountX + 0.1) / 2; MotorMountX = (GearedMotorMountX + 0.1) / 2;
MotorMountY = (GearedMotorMountY + 0.1) / 2; MotorMountY = (GearedMotorMountY + 0.1) / 2;
SprocketedRollerZ = -5;
color("green") translate (pos) difference() { color("green") translate (pos) difference() {
cube(PanelDimensions, center = true); translate([0, PanelYOffset, 0]) cube(PanelDimensions, center = true);
//sprocketed roller //sprocketed roller
translate([0, RollerY, 0]) cylinder(r = R(15), h = PanelZ + 1, center = true, $fn = 60); translate([0, RollerY, 0]) cylinder(r = R(15), h = PanelZ + 1, center = true, $fn = 60);
@ -1053,12 +1088,18 @@ module panel (pos = [0, 0, 0]) {
} }
//panel bolts //panel bolts
m3_panel_bolt_void([0, BoltY, 3]); m3_panel_bolt_void([BoltX, -BoltY1, 3]);
m3_panel_bolt_void([0, -BoltY, 3]); m3_panel_bolt_void([-BoltX, -BoltY1, 3]);
m3_panel_bolt_void([BoltX, BoltY, 3]); m3_panel_bolt_void([BoltX, BoltY1, 3]);
m3_panel_bolt_void([BoltX, -BoltY, 3]); m3_panel_bolt_void([-BoltX, BoltY1, 3]);
m3_panel_bolt_void([-BoltX, BoltY, 3]); m3_panel_bolt_void([BoltX, BoltY2, 3]);
m3_panel_bolt_void([-BoltX, -BoltY, 3]); m3_panel_bolt_void([-BoltX, BoltY2, 3]);
//idle roller posts
idle_roller_bolt_void([ IdleRollerPrintX, IdleRollerPrintY, 3]);
idle_roller_bolt_void([-IdleRollerPrintX, IdleRollerPrintY, 3]);
idle_roller_bolt_void([ IdleRollerNegativeX, IdleRollerNegativeY, 3]);
idle_roller_bolt_void([-IdleRollerNegativeX, IdleRollerNegativeY, 3]);
//lamp //lamp
lamp_bolts_voids([0, LampY + 15, (LampBoltH/2) - 1.5]); lamp_bolts_voids([0, LampY + 15, (LampBoltH/2) - 1.5]);
@ -1069,16 +1110,18 @@ module panel (pos = [0, 0, 0]) {
} }
} }
takeup_mount_panel([0, RollerY, -7], [0, 0, 90]); takeup_mount_panel([0, RollerY, SprocketedRollerZ], [0, 0, 90]);
} }
PART = "lamp"; PART = "panel";
LIBRARY = true; LIBRARY = true;
if (PART == "panel") { if (PART == "panel") {
panel(); rotate([180, 0, 0]) panel();
} else if (PART == "lamp") { } else if (PART == "lamp") {
lamp(); lamp();
} else if (PART == "picture_gate") {
rotate([-90, 0, 0]) picture_gate(Type = "standard");
} else if (PART == "sprocketed_roller_reinforced") { } else if (PART == "sprocketed_roller_reinforced") {
sprocketed_roller(sprockets = 18, bevel = false, model = "gearbox_motor", reinforced = true, bolts = true); sprocketed_roller(sprockets = 18, bevel = false, model = "gearbox_motor", reinforced = true, bolts = true);
} else if (PART == "2020_tslot_insert") { } else if (PART == "2020_tslot_insert") {