Reformatted repo to account for all pegbar designs

This commit is contained in:
Matt McWilliams 2025-02-07 23:52:42 -05:00
parent 9eb705538c
commit 0958ced93e
8 changed files with 53 additions and 46 deletions

View File

@ -1,23 +1,27 @@
# ACME Peg Bar
# Animation Pegbars
![ACME Peg Bar](./img/acme_peg_bar_full.jpg)
![ACME PegBar](./img/acme_peg_bar_full.jpg)
The pegbar is a tool for holding punched cels for drawing or shooting.
This repo contains scripts for generating pegbars for round holes (three hole punch) as well as for cels made for ACME, Disney and Oxberry.
## ACME Pegbars
The ACME peg bar is a tool for holding punched cels for drawing or shooting.
This design is distinct from round peg bars due to the enlongated pegs on the ends of it.
These enlogated pegs are intended to reduce the shake in the cels when they are drawn on.
There are two variations of this design, for smaller printers.
### [Download STL](./stl/acme_peg_bar_full.stl)
### [Download STL](./stl/pegbar_acme.stl)
# ACME Peg Bar for Small Printers
![ACME Peg Bar for Small Printers](./img/acme_peg_bar_small_printer.jpg)
![ACME Peg Bar for Small Printers](./img/pegbar_acme_small_printer.jpg)
### [Download STL](./stl/acme_peg_bar_small_printer.stl)
### [Download STL](./stl/pegbar_acme_small_printer.stl)
# ACME Peg Bar in Three Pieces
![ACME Peg Bar in Three Pieces](./img/acme_peg_bar_three_piece.jpg)
![ACME Peg Bar in Three Pieces](./img/pegbar_acme_three_piece.jpg)
### [Download STL](./stl/acme_peg_bar_three_piece.stl)
### [Download STL](./stl/pegbar_acmethree_piece.stl)

View File

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -25,26 +25,28 @@ module rounded_bar (arr = [50, 10, 10], fn = 60) {
}
}
module animation_peg_bar () {
module pegbar_acme () {
rounded_bar([L, W, H], $fn);
//cube([20, W, H], center = true);
translate([0, 0, (CENTER_H / 2) - .5]) center_peg(CENTER_D, CENTER_H);
translate([(SIDE_SPACE / 2) + (SIDE_L / 2), 0, (CENTER_H / 2) + .3 ]) side_peg(SIDE_D, SIDE_L, CENTER_H);
translate([-(SIDE_SPACE / 2) - (SIDE_L / 2), 0, (CENTER_H / 2) + .3 ]) side_peg(SIDE_D, SIDE_L, CENTER_H);
center_peg([0, 0, (CENTER_H / 2) - .5], CENTER_D, CENTER_H);
acme_peg([(SIDE_SPACE / 2) + (SIDE_L / 2), 0, (CENTER_H / 2) + .3 ], SIDE_D, SIDE_L, CENTER_H);
acme_peg([-(SIDE_SPACE / 2) - (SIDE_L / 2), 0, (CENTER_H / 2) + .3 ], SIDE_D, SIDE_L, CENTER_H);
}
module center_peg (D = 6, H = 9) {
cylinder(r = D / 2, h = H - (D / 2), center = true);
module center_peg (pos = [0, 0, 0], D = 6, H = 9) {
translate(pos) {
cylinder(r = R(D), h = H - (D / 2), center = true);
translate([0, 0, (H / 2) - (D / 4)]) {
difference () {
sphere(r = R(D));
translate([0, 0, -D]) cube([D*2, D*2, D*2], center = true);
}
}
}
}
module side_peg (D = 3, L = 11, H = 9) {
module acme_peg (pos = [0, 0, 0], D = 3, L = 11, H = 9) {
translate(pos) {
rounded_bar([L, D, H - (D / 2)], fn = $fn);
translate([0, 0, (H / 2) - (D / 4)]) {
difference () {
@ -56,11 +58,12 @@ module side_peg (D = 3, L = 11, H = 9) {
translate([0, 0, -L]) cube([L * 2, L * 2, L * 2], center = true);
}
}
}
}
module small_printer_animation_peg_bar () {
module pegbar_acme_small_printer () {
difference () {
animation_peg_bar();
pegbar_acme();
translate([150 + 20, 0, 0]) cube([300, 300, 300], center = true);
translate([20, 0, .75]) {
difference (){
@ -71,7 +74,7 @@ module small_printer_animation_peg_bar () {
}
translate([20, 20, 0]) {
difference () {
animation_peg_bar();
pegbar_acme();
translate([150 - 20, 0, 0]) cube([300, 300, 300], center = true);
translate([-20, 0, -.75]) {
cube([5, 13 + 1, 1.5], center = true);
@ -82,9 +85,9 @@ module small_printer_animation_peg_bar () {
}
module three_piece_animation_peg_bar () {
module pegbar_acme_three_piece () {
difference () {
animation_peg_bar();
pegbar_acme();
translate([150 + (254 / 6), 0, 0]) cube([300, 300, 300], center = true);
translate([-150 - (254 / 6), 0, 0]) cube([300, 300, 300], center = true);
translate([(254 / 6), 0, .75]) {
@ -102,7 +105,7 @@ module three_piece_animation_peg_bar () {
}
translate([(254 / 3), 20, 0]) {
difference () {
animation_peg_bar();
pegbar_acme();
translate([150 - (254 / 6), 0, 0]) cube([300, 300, 300], center = true);
translate([-(254 / 6), 0, -.75]) {
cube([5, 13 + 1, 1.5], center = true);
@ -112,7 +115,7 @@ module three_piece_animation_peg_bar () {
}
translate([(254 / 3), -20, 0]) {
difference () {
animation_peg_bar();
pegbar_acme();
translate([150 - (254 / 6), 0, 0]) cube([300, 300, 300], center = true);
translate([-(254 / 6), 0, -.75]) {
cube([5, 13 + 1, 1.5], center = true);
@ -123,14 +126,14 @@ module three_piece_animation_peg_bar () {
}
PART = "full";
PART = "acme";
if (PART == "full") {
animation_peg_bar();
} else if (PART == "small_printer") {
small_printer_animation_peg_bar();
} else if (PART == "three_piece") {
three_piece_animation_peg_bar();
if (PART == "acme") {
pegbar_acme();
} else if (PART == "acme_small_printer") {
pegbar_acme_small_printer();
} else if (PART == "acme_three_piece") {
pegbar_acme_three_piece();
}
//