Updated with all new STLs. Disney, Oxberry and round pegbars completed

This commit is contained in:
Matt McWilliams 2025-02-08 11:18:18 -05:00
parent 3ee61509e2
commit decd5b2236
22 changed files with 2764898 additions and 41 deletions

View File

@ -1,9 +1,31 @@
# Animation Pegbars
![ACME PegBar](./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.
This repo contains scripts for generating pegbars for round pegs (three hole punch) as well as for cels made for ACME, Disney and Oxberry pegs.
-----
## Round Pegbars
This design is intended for use with a standard three hole punch.
### [Download STL](./stl/pegbar_round.stl)
# ACME Pegbar in Two Pieces
![ROund Pegbar for Small Printers](./img/pegbar_round_two_piece.jpg)
### [Download STL](./stl/pegbar_round_two_piece.stl)
# ACME Pegbar in Three Pieces
![ACME Pegbar in Three Pieces](./img/pegbar_round_three_piece.jpg)
### [Download STL](./stl/pegbar_round_three_piece.stl)
-----
## ACME Pegbars
@ -14,15 +36,55 @@ There are two variations of this design, for smaller printers.
### [Download STL](./stl/pegbar_acme.stl)
# ACME Peg Bar for Small Printers
# ACME Pegbar in Two Pieces
![ACME Peg Bar for Small Printers](./img/pegbar_acme_small_printer.jpg)
![ACME Pegbar for Small Printers](./img/pegbar_acme_two_piece.jpg)
### [Download STL](./stl/pegbar_acme_small_printer.stl)
### [Download STL](./stl/pegbar_acme_two_piece.stl)
# ACME Peg Bar in Three Pieces
# ACME Pegbar in Three Pieces
![ACME Peg Bar in Three Pieces](./img/pegbar_acme_three_piece.jpg)
![ACME Pegbar in Three Pieces](./img/pegbar_acme_three_piece.jpg)
### [Download STL](./stl/pegbar_acmethree_piece.stl)
### [Download STL](./stl/pegbar_acme_three_piece.stl)
-----
## Oxberry Pegbars
This design is used for Oxberry pegs.
It is distinct from the ACME design by having thicker outer pegs at a different spacing.
### [Download STL](./stl/pegbar_oxberry.stl)
# Oxberry Pegbar in Two Pieces
![Oxberry Pegbar for Small Printers](./img/pegbar_oxberry_two_piece.jpg)
### [Download STL](./stl/pegbar_oxberry_two_piece.stl)
# Oxberry Pegbar in Three Pieces
![Oxberry Pegbar in Three Pieces](./img/pegbar_oxberry_three_piece.jpg)
### [Download STL](./stl/pegbar_oxberry_three_piece.stl)
-----
## Disney Pegbars
This is the design that was used at Disney until they adopted the ACME pegbar standard.
### [Download STL](./stl/pegbar_disney.stl)
# Disney Pegbar in Two Pieces
![Disney Pegbar for Small Printers](./img/pegbar_disney_two_piece.jpg)
### [Download STL](./stl/pegbar_disney_two_piece.stl)
# Disney Pegbar in Three Pieces
![Disney Pegbar in Three Pieces](./img/pegbar_disney_three_piece.jpg)
### [Download STL](./stl/pegbar_disney_three_piece.stl)

View File

Before

(image error) Size: 11 KiB

After

(image error) Size: 11 KiB

BIN
img/pegbar_disney.jpg Normal file

Binary file not shown.

After

(image error) Size: 6.7 KiB

Binary file not shown.

After

(image error) Size: 17 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

BIN
img/pegbar_oxberry.jpg Normal file

Binary file not shown.

After

(image error) Size: 6.7 KiB

Binary file not shown.

After

(image error) Size: 17 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

BIN
img/pegbar_round.jpg Normal file

Binary file not shown.

After

(image error) Size: 6.7 KiB

Binary file not shown.

After

(image error) Size: 16 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

View File

@ -1,16 +1,36 @@
use <./common/common.scad>;
$fn = 160;
time = 0;
L = 254;
W = 13;
H = 3;
CENTER_D = 6.39;
CENTER_H = 9.76;
SIDE_D = 3.24;
SIDE_L = 11.92;
SIDE_SPACE = 192; //SPACE BETWEEN INNER PARTS
ROUND_L = 254;
ROUND_W = 13;
ROUND_H = 3;
ACME_L = 254;
ACME_W = 13;
ACME_H = 3;
DISNEY_L = 254;
DISNEY_W = 13;
DISNEY_H = 3;
OXBERRY_L = 254;
OXBERRY_W = 13;
OXBERRY_H = 3;
ROUND_PEG_D = 6.39;
PEG_H = 9.76;
ACME_PEG_D = 3.24;
ACME_PEG_L = 11.92;
OXBERRY_PEG_D = 6.39;
OXBERRY_PEG_L = 11.92;
ROUND_PEG_SPACING = 108 * 2;
ACME_PEG_SPACING = 192;
OXBERRY_PEG_SPACING = 192;
DISNEY_PEG_SPACING = 7 * 25.4;
//http://www.cartoonsupplies.com/content/acme-pegbar-plastic
@ -25,15 +45,7 @@ module rounded_bar (arr = [50, 10, 10], fn = 60) {
}
}
module pegbar_acme () {
rounded_bar([L, W, H], $fn);
//cube([20, W, H], center = true);
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 (pos = [0, 0, 0], D = 6, H = 9) {
module round_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)]) {
@ -45,7 +57,7 @@ module center_peg (pos = [0, 0, 0], D = 6, H = 9) {
}
}
module acme_peg (pos = [0, 0, 0], D = 3, L = 11, H = 9) {
module enlongated_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)]) {
@ -61,9 +73,38 @@ module acme_peg (pos = [0, 0, 0], D = 3, L = 11, H = 9) {
}
}
module pegbar_acme_small_printer () {
module pegbar_round () {
rounded_bar([ROUND_L, ROUND_W, ROUND_H], $fn);
round_peg([0, 0, (PEG_H / 2) - .5], ROUND_PEG_D, PEG_H);
round_peg([(ROUND_PEG_SPACING / 2), 0, (PEG_H / 2) ], ROUND_PEG_D, PEG_H);
round_peg([-(ROUND_PEG_SPACING / 2), 0, (PEG_H / 2) ], ROUND_PEG_D, PEG_H);
}
module pegbar_acme () {
rounded_bar([ACME_L, ACME_W, ACME_H], $fn);
round_peg([0, 0, (PEG_H / 2) - .5], ROUND_PEG_D, PEG_H);
enlongated_peg([(ACME_PEG_SPACING / 2) + (ACME_PEG_L / 2), 0, (PEG_H / 2) + .3 ], ACME_PEG_D, ACME_PEG_L, PEG_H);
enlongated_peg([-(ACME_PEG_SPACING / 2) - (ACME_PEG_L / 2), 0, (PEG_H / 2) + .3 ], ACME_PEG_D, ACME_PEG_L, PEG_H);
}
module pegbar_oxberry () {
rounded_bar([OXBERRY_L, OXBERRY_W, OXBERRY_H], $fn);
round_peg([0, 0, (PEG_H / 2) - .5], ROUND_PEG_D, PEG_H);
enlongated_peg([(OXBERRY_PEG_SPACING / 2) + (OXBERRY_PEG_L / 2), 0, (PEG_H / 2) + .3 ], OXBERRY_PEG_D, OXBERRY_PEG_L, PEG_H);
enlongated_peg([-(OXBERRY_PEG_SPACING / 2) - (OXBERRY_PEG_L / 2), 0, (PEG_H / 2) + .3 ], OXBERRY_PEG_D, OXBERRY_PEG_L, PEG_H);
}
//Disney uses ACME pegs
module pegbar_disney () {
rounded_bar([DISNEY_L, DISNEY_W, DISNEY_H], $fn);
round_peg([0, 0, (PEG_H / 2) - .5], ROUND_PEG_D, PEG_H);
enlongated_peg([(DISNEY_PEG_SPACING / 2) + (ACME_PEG_L / 2), 0, (PEG_H / 2) + .3 ], ACME_PEG_D, ACME_PEG_L, PEG_H);
enlongated_peg([-(DISNEY_PEG_SPACING / 2) - (ACME_PEG_L / 2), 0, (PEG_H / 2) + .3 ], ACME_PEG_D, ACME_PEG_L, PEG_H);
}
module two_piece () {
difference () {
pegbar_acme();
children();
translate([150 + 20, 0, 0]) cube([300, 300, 300], center = true);
translate([20, 0, .75]) {
difference (){
@ -74,7 +115,7 @@ module pegbar_acme_small_printer () {
}
translate([20, 20, 0]) {
difference () {
pegbar_acme();
children();
translate([150 - 20, 0, 0]) cube([300, 300, 300], center = true);
translate([-20, 0, -.75]) {
cube([5, 13 + 1, 1.5], center = true);
@ -82,12 +123,11 @@ module pegbar_acme_small_printer () {
}
}
}
}
module pegbar_acme_three_piece () {
module three_piece () {
difference () {
pegbar_acme();
children();
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]) {
@ -105,7 +145,7 @@ module pegbar_acme_three_piece () {
}
translate([(254 / 3), 20, 0]) {
difference () {
pegbar_acme();
children();
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);
@ -115,7 +155,7 @@ module pegbar_acme_three_piece () {
}
translate([(254 / 3), -20, 0]) {
difference () {
pegbar_acme();
children();
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,17 +163,34 @@ module pegbar_acme_three_piece () {
}
}
}
}
PART = "acme";
PART = "round";
if (PART == "acme") {
if (PART == "round") {
pegbar_round();
} else if (PART == "acme") {
pegbar_acme();
} else if (PART == "acme_small_printer") {
pegbar_acme_small_printer();
} else if (PART == "disney") {
pegbar_disney();
} else if (PART == "oxberry") {
pegbar_oxberry();
} else if (PART == "round_two_piece") {
two_piece() pegbar_round();
} else if (PART == "round_three_piece") {
three_piece() pegbar_round();
} else if (PART == "acme_two_piece") {
two_piece() pegbar_acme();
} else if (PART == "acme_three_piece") {
pegbar_acme_three_piece();
three_piece() pegbar_acme();
} else if (PART == "disney_two_piece") {
two_piece() pegbar_disney();
} else if (PART == "disney_three_piece") {
three_piece() pegbar_disney();
} else if (PART == "oxberry_two_piece") {
two_piece() pegbar_oxberry();
} else if (PART == "oxberry_three_piece") {
three_piece() pegbar_oxberry();
}
//

318404
stl/pegbar_disney.stl Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

311852
stl/pegbar_disney_two_piece.stl Normal file

File diff suppressed because it is too large Load Diff

331186
stl/pegbar_oxberry.stl Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

286694
stl/pegbar_round.stl Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

282872
stl/pegbar_round_two_piece.stl Normal file

File diff suppressed because it is too large Load Diff