Updated with all new STLs. Disney, Oxberry and round pegbars completed
This commit is contained in:
parent
3ee61509e2
commit
decd5b2236
78
README.md
78
README.md
|
@ -1,9 +1,31 @@
|
|||
# Animation Pegbars
|
||||
|
||||

|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
### [Download STL](./stl/pegbar_round_two_piece.stl)
|
||||
|
||||
# ACME Pegbar in Three Pieces
|
||||
|
||||

|
||||
|
||||
### [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
|
||||
|
||||

|
||||

|
||||
|
||||
### [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
|
||||
|
||||

|
||||

|
||||
|
||||
### [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
|
||||
|
||||

|
||||
|
||||
### [Download STL](./stl/pegbar_oxberry_two_piece.stl)
|
||||
|
||||
# Oxberry Pegbar in Three Pieces
|
||||
|
||||

|
||||
|
||||
### [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
|
||||
|
||||

|
||||
|
||||
### [Download STL](./stl/pegbar_disney_two_piece.stl)
|
||||
|
||||
# Disney Pegbar in Three Pieces
|
||||
|
||||

|
||||
|
||||
### [Download STL](./stl/pegbar_disney_three_piece.stl)
|
Before ![]() (image error) Size: 11 KiB After ![]() (image error) Size: 11 KiB ![]() ![]() |
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 |
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 |
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 |
123
scad/pegbar.scad
123
scad/pegbar.scad
|
@ -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();
|
||||
}
|
||||
|
||||
//
|
||||
|
|
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
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
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
Loading…
Reference in New Issue