Compare commits

..

2 Commits

1 changed files with 82 additions and 64 deletions

View File

@ -46,32 +46,40 @@ MotorZ = -16;
TakeupMotorZ = -40; TakeupMotorZ = -40;
PictureTakeupMotorRotationZ = -70; PictureTakeupMotorRotationZ = -70;
StockTakeupMotorRotationZ = 180-70; StockTakeupMotorRotationZ = 110;
TakeupPanelX = 152;
TakeupPanelY = 100;
//Offsets the takeup panels by x,y //Offsets the takeup panels by x,y
TakeupPanelPictureX = 127.5; TakeupPanelPictureX = 127.5 + 6.25;
TakeupPanelPictureY = 90; TakeupPanelPictureY = 90 + 10;
TakeupPanelStockX = 127.5; TakeupPanelStockX = 127.5 + 6.25;
TakeupPanelStockY = -90; TakeupPanelStockY = -90 - 10;
FeedPanelPictureX = -127.5; FeedPanelPictureX = -127.5 - 6.25;
FeedPanelPictureY = 90; FeedPanelPictureY = 90 + 10;
FeedPanelStockX = -127.5; FeedPanelStockX = -127.5 - 6.25;
FeedPanelStockY = -90; FeedPanelStockY = -90 - 10;
TakeupPanelPictureOffsetX = ReelX - TakeupPanelPictureX; TakeupPanelPictureOffsetX = ReelX - TakeupPanelPictureX;
TakeupPanelStockOffsetX = ReelX - TakeupPanelPictureX; TakeupPanelStockOffsetX = ReelX - TakeupPanelStockX;
TakeupPanelPictureOffsetY = ReelY - TakeupPanelPictureY;
TakeupPanelStockOffsetY = -ReelY - TakeupPanelStockY;
FeedPanelPictureOffsetX = -ReelX - FeedPanelPictureX; FeedPanelPictureOffsetX = -ReelX - FeedPanelPictureX;
FeedPanelStockOffsetX = -ReelX - FeedPanelPictureX; FeedPanelStockOffsetX = -ReelX - FeedPanelStockX;
FeedPanelPictureOffsetY = ReelY - FeedPanelPictureY;
FeedPanelStockOffsetY = -ReelY - FeedPanelStockY;
TakeupPanelBoltsOffsetX = -17.5; TakeupPanelBoltsOffsetX = -17.5;
FeedPanelBoltsOffsetX = 17.5; FeedPanelBoltsOffsetX = 17.5;
TakeupPanelX = 145;
TakeupPanelY = 100;
TakeupCenterVoidD = 47; TakeupCenterVoidD = 47;
TakeupCenterColumnD = 55; TakeupCenterColumnD = 55;
TakeupCenterColumnZ = 23.25; TakeupCenterColumnZ = 23.25;
@ -521,9 +529,12 @@ module panel (pos = [0, 0, 0]) {
} }
module panel_corner (pos = [0, 0, 0], rot = 0) { module panel_corner (pos = [0, 0, 0], rot = 0) {
translate(pos) rotate([0, 0, rot]) difference() { D = 20;
translate([10, 10, 0]) cube([20, 20, 20], center = true); translate([pos[0] - R(D), pos[1] - R(D), pos[2]]) rotate([0, 0, rot]) difference() {
cylinder(r = R(20), h = 20 + 1, center = true, $fn = 60); cube([D * 2, D * 2, 10], center = true);
cylinder(r = R(D), h = 10 + 1, center = true, $fn = 60);
translate([-D, -D / 2, 0]) cube([D * 2, D * 2, 10 + 1], center = true);
translate([-D / 2, -D, 0]) cube([D * 2, D * 2, 10 + 1], center = true);
} }
} }
@ -611,7 +622,6 @@ module takeup_panel_motor_mount_pads (pos = [0, 0, 0], rot = [0, 0, 0]) {
} }
module takeup_panel_picture (pos = [0, 0, 0]) { module takeup_panel_picture (pos = [0, 0, 0]) {
BoltX = (TakeupPanelX / 2) - 10; BoltX = (TakeupPanelX / 2) - 10;
BoltY = (TakeupPanelY / 2) - 10; BoltY = (TakeupPanelY / 2) - 10;
OtherX = 25; OtherX = 25;
@ -621,13 +631,13 @@ module takeup_panel_picture (pos = [0, 0, 0]) {
difference() { difference() {
union(){ union(){
cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true); cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
takeup_panel_bearings_posts([TakeupPanelPictureOffsetX, 0, 4.25]); takeup_panel_bearings_posts([TakeupPanelPictureOffsetX, TakeupPanelPictureOffsetY, 4.25]);
} }
//void for motor //void for motor
translate([TakeupPanelPictureOffsetX, 0, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100); translate([TakeupPanelPictureOffsetX, TakeupPanelPictureOffsetY, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100);
panel_corner([(TakeupPanelX / 2) + 2.5, (TakeupPanelY / 2) + 2.5, 0]); panel_corner([(TakeupPanelX / 2), (TakeupPanelY / 2), 0]);
//bearings bolts voids //bearings bolts voids
takeup_panel_bearings_bolts_voids([TakeupPanelPictureOffsetX, 0, 5]); takeup_panel_bearings_bolts_voids([TakeupPanelPictureOffsetX, TakeupPanelPictureOffsetY, 5]);
//bolts //bolts
//top center //top center
takeup_panel_bearings_m3_bolt_void([0, BoltY, 0]); takeup_panel_bearings_m3_bolt_void([0, BoltY, 0]);
@ -645,14 +655,15 @@ module takeup_panel_picture (pos = [0, 0, 0]) {
//center right //center right
takeup_panel_bearings_m3_bolt_void([BoltX, BoltY - 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, BoltY - 20, 0]);
takeup_panel_motor_mount_m4_bolts_voids([TakeupPanelPictureOffsetX, 0, -8.99]); takeup_panel_motor_mount_m4_bolts_voids([TakeupPanelPictureOffsetX, TakeupPanelPictureOffsetY, -8.99]);
} }
} }
} }
module takeup_panel_picture_motor_mount (pos = [0, 0, 0] ) { module takeup_panel_picture_motor_mount (pos = [0, 0, 0] ) {
translate(pos) { translate(pos) {
translate([TakeupPanelPictureOffsetX, 0, 0]) { translate([TakeupPanelPictureOffsetX, TakeupPanelPictureOffsetY, 0]) {
difference () { difference () {
union () { union () {
translate([0, 0, -(PanelZ/2) - (TakeupCenterColumnZ/2)]) cylinder(r = R(TakeupCenterColumnD), h = TakeupCenterColumnZ, center = true, $fn = 100); translate([0, 0, -(PanelZ/2) - (TakeupCenterColumnZ/2)]) cylinder(r = R(TakeupCenterColumnD), h = TakeupCenterColumnZ, center = true, $fn = 100);
@ -681,44 +692,47 @@ module takeup_panel_picture_motor_mount (pos = [0, 0, 0] ) {
} }
module takeup_panel_stock (pos = [0, 0, 0]) { module takeup_panel_stock (pos = [0, 0, 0]) {
BoltX = (TakeupPanelX / 2) - 10;
BoltY = (TakeupPanelY / 2) - 10;
OtherX = 25; OtherX = 25;
OtherY = 45; OtherY = 45;
translate(pos) { translate(pos) {
difference() { difference() {
union(){ union(){
translate([12.5, -12.5, 0]) cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true); cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
color("red") translate([-(TakeupPanelX/2) + 2.5, -12.5, 0]) cube([OtherX, TakeupPanelY, PanelZ], center = true); takeup_panel_bearings_posts([TakeupPanelStockOffsetX, TakeupPanelStockOffsetY, 4.25]);
takeup_panel_bearings_posts([TakeupPanelStockOffsetX, 0, 4.25]);
} }
//motor void //motor void
translate([TakeupPanelStockOffsetX, 0, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100); translate([TakeupPanelStockOffsetX, TakeupPanelStockOffsetY, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100);
panel_corner([(TakeupPanelX / 2) + 2.5, -(TakeupPanelY / 2) - 2.5, 0], -90); panel_corner([(TakeupPanelX / 2), -(TakeupPanelY / 2) + 20, 0], -90);
//bearings //bearings
//takeup_panel_bearings_voids([TakeupPanelStockOffsetX, 0, 0]); //takeup_panel_bearings_voids([TakeupPanelStockOffsetX, 0, 0]);
takeup_panel_bearings_bolts_voids([TakeupPanelStockOffsetX, 0, 5]); takeup_panel_bearings_bolts_voids([TakeupPanelStockOffsetX, TakeupPanelStockOffsetY, 5]);
//bolts //bolts
//bottom center //bottom center
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX, -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([0, -BoltY, 0]);
//bottom right //bottom right
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX + (TakeupPanelX / 2), -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, -BoltY, 0]);
//bottom left //bottom left
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX - (TakeupPanelX / 2), -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, -BoltY, 0]);
//top right //top right
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX + (TakeupPanelX / 2), -2.5 + 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, BoltY, 0]);
//top left //top left
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX - (TakeupPanelX / 2), -2.5 + 20, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, BoltY, 0]);
//center left //center left
takeup_panel_bearings_m3_bolt_void([TakeupPanelBoltsOffsetX + TakeupPanelStockOffsetX - (TakeupPanelX / 2), -2.5 - 20, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, -BoltY + 20, 0]);
//center right
takeup_panel_bearings_m3_bolt_void([BoltX, -BoltY + 20, 0]);
takeup_panel_motor_mount_m4_bolts_voids([TakeupPanelStockOffsetX, 0, -8.99], [0, 0, 180]); takeup_panel_motor_mount_m4_bolts_voids([TakeupPanelStockOffsetX, TakeupPanelStockOffsetY, -8.99], [0, 0, 180]);
} }
} }
} }
module takeup_panel_stock_motor_mount (pos = [0, 0, 0] ) { module takeup_panel_stock_motor_mount (pos = [0, 0, 0] ) {
translate(pos) { translate(pos) {
translate([TakeupPanelPictureOffsetX, 0, 0]) { translate([TakeupPanelStockOffsetX, TakeupPanelStockOffsetY, 0]) {
difference () { difference () {
union () { union () {
translate([0, 0, -(PanelZ/2) - (TakeupCenterColumnZ/2)]) cylinder(r = R(TakeupCenterColumnD), h = TakeupCenterColumnZ, center = true, $fn = 100); translate([0, 0, -(PanelZ/2) - (TakeupCenterColumnZ/2)]) cylinder(r = R(TakeupCenterColumnD), h = TakeupCenterColumnZ, center = true, $fn = 100);
@ -775,65 +789,69 @@ module feed_panel_motor_mount_m4_bolts_voids (pos = [0, 0, 0], rot = [0, 0, 0])
} }
module feed_panel_picture (pos = [0, 0, 0]) { module feed_panel_picture (pos = [0, 0, 0]) {
BoltX = (TakeupPanelX / 2) - 10;
BoltY = (TakeupPanelY / 2) - 10;
OtherX = 25; OtherX = 25;
OtherY = 45; OtherY = 45;
translate(pos) { translate(pos) {
difference() { difference() {
union(){ cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
translate([-12.5, 12.5, 0]) cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
translate([(TakeupPanelX/2) - 2.5, 12.5, 0]) cube([OtherX, TakeupPanelY, PanelZ], center = true);
}
//motor void //motor void
translate([FeedPanelPictureOffsetX, 0, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100); translate([FeedPanelPictureOffsetX, FeedPanelPictureOffsetY, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100);
panel_corner([-(TakeupPanelX / 2) - 2.5, (TakeupPanelY / 2) + 2.5, 0], 90); panel_corner([-(TakeupPanelX / 2) + 20, (TakeupPanelY / 2), 0], 90);
//bolts //bolts
//top center //top center
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX, (TakeupPanelY / 2) + 2.5, 0]); takeup_panel_bearings_m3_bolt_void([0, BoltY, 0]);
//top right //top right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), (TakeupPanelY / 2) + 2.5, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, BoltY, 0]);
//top left //top left
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX - (TakeupPanelX / 2), (TakeupPanelY / 2) + 2.5, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, BoltY, 0]);
//bottom left //bottom left
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX - (TakeupPanelX / 2), 2.5 - 20, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, -BoltY, 0]);
//bottom right //bottom right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), 2.5 - 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, -BoltY, 0]);
//center right //center right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), 2.5 + 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, BoltY - 20, 0]);
//center left
takeup_panel_bearings_m3_bolt_void([-BoltX, BoltY - 20, 0]);
takeup_panel_motor_mount_m4_bolts_voids([FeedPanelPictureOffsetX, 0, -8.99]); takeup_panel_motor_mount_m4_bolts_voids([FeedPanelPictureOffsetX, FeedPanelPictureOffsetY, -8.99]);
} }
} }
} }
module feed_panel_stock (pos = [0, 0, 0]) { module feed_panel_stock (pos = [0, 0, 0]) {
BoltX = (TakeupPanelX / 2) - 10;
BoltY = (TakeupPanelY / 2) - 10;
OtherX = 25; OtherX = 25;
OtherY = 45; OtherY = 45;
translate(pos) { translate(pos) {
difference() { difference() {
union(){ cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
translate([-12.5, -12.5, 0]) cube([TakeupPanelX, TakeupPanelY, PanelZ], center = true);
translate([(TakeupPanelX/2) - 2.5, -12.5, 0]) cube([OtherX, TakeupPanelY, PanelZ], center = true);
}
//motor void //motor void
translate([FeedPanelPictureOffsetX, 0, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100); translate([FeedPanelStockOffsetX, FeedPanelStockOffsetY, 0]) cylinder(r = R(TakeupCenterVoidD), h = 50, center = true, $fn = 100);
panel_corner([-(TakeupPanelX / 2) - 2.5, -(TakeupPanelY / 2) - 2.5, 0], 180); panel_corner([-(TakeupPanelX / 2) + 20, -(TakeupPanelY / 2) + 20, 0], 180);
//bolts //bolts
//bottom center //bottom center
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX, -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([0, -BoltY, 0]);
//bottom right //bottom right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, -BoltY, 0]);
//bottom left //bottom left
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX - (TakeupPanelX / 2), -(TakeupPanelY / 2) - 2.5, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, -BoltY, 0]);
//top left //top left
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX - (TakeupPanelX / 2), -2.5 + 20, 0]); takeup_panel_bearings_m3_bolt_void([-BoltX, BoltY, 0]);
//top right //top right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), -2.5 + 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, BoltY, 0]);
//center right //center right
takeup_panel_bearings_m3_bolt_void([FeedPanelBoltsOffsetX + FeedPanelPictureOffsetX + (TakeupPanelX / 2), -2.5 - 20, 0]); takeup_panel_bearings_m3_bolt_void([BoltX, -BoltY + 20, 0]);
//center left
takeup_panel_bearings_m3_bolt_void([-BoltX, -BoltY + 20, 0]);
takeup_panel_motor_mount_m4_bolts_voids([FeedPanelPictureOffsetX, 0, -8.99], [0, 0, 180]); takeup_panel_motor_mount_m4_bolts_voids([FeedPanelStockOffsetX, FeedPanelStockOffsetY, -8.99], [0, 0, 180]);
} }
} }
} }
@ -1189,7 +1207,7 @@ module debug () {
//motor_controller_panel([0, -75, PanelOffsetZ]); //motor_controller_panel([0, -75, PanelOffsetZ]);
} }
PART = "feed_panel_picturex"; PART = "feed_panel_stock";
LIBRARY = true; LIBRARY = true;
if (PART == "panel") { if (PART == "panel") {