diff --git a/README.md b/README.md index 9b2adb1..8550a4c 100644 --- a/README.md +++ b/README.md @@ -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) \ No newline at end of file +### [Download STL](./stl/pegbar_acmethree_piece.stl) \ No newline at end of file diff --git a/img/acme_peg_bar_full.jpg b/img/pegbar_acme.jpg similarity index 100% rename from img/acme_peg_bar_full.jpg rename to img/pegbar_acme.jpg diff --git a/img/acme_peg_bar_small_printer.jpg b/img/pegbar_acme_small_printer.jpg similarity index 100% rename from img/acme_peg_bar_small_printer.jpg rename to img/pegbar_acme_small_printer.jpg diff --git a/img/acme_peg_bar_three_piece.jpg b/img/pegbar_acme_three_piece.jpg similarity index 100% rename from img/acme_peg_bar_three_piece.jpg rename to img/pegbar_acme_three_piece.jpg diff --git a/scad/acme_peg_bar.scad b/scad/pegbar.scad similarity index 61% rename from scad/acme_peg_bar.scad rename to scad/pegbar.scad index 9012085..61f5863 100644 --- a/scad/acme_peg_bar.scad +++ b/scad/pegbar.scad @@ -25,42 +25,45 @@ 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); - 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) { - rounded_bar([L, D, H - (D / 2)], fn = $fn); - translate([0, 0, (H / 2) - (D / 4)]) { - difference () { - union () { - rotate([0, 90, 0]) cylinder(r = R(D), h = L - D, center = true); - translate([(L / 2) - (D / 2), 0, 0]) sphere(r = R(D)); - translate([-(L / 2) + (D / 2), 0, 0]) sphere(r = R(D)); +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); } - translate([0, 0, -L]) cube([L * 2, L * 2, L * 2], center = true); } } } -module small_printer_animation_peg_bar () { +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 () { + union () { + rotate([0, 90, 0]) cylinder(r = R(D), h = L - D, center = true); + translate([(L / 2) - (D / 2), 0, 0]) sphere(r = R(D)); + translate([-(L / 2) + (D / 2), 0, 0]) sphere(r = R(D)); + } + translate([0, 0, -L]) cube([L * 2, L * 2, L * 2], center = true); + } + } + } +} + +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(); } // diff --git a/stl/acme_peg_bar_full.stl b/stl/pegbar_acme.stl similarity index 100% rename from stl/acme_peg_bar_full.stl rename to stl/pegbar_acme.stl diff --git a/stl/acme_peg_bar_small_printer.stl b/stl/pegbar_acme_small_printer.stl similarity index 100% rename from stl/acme_peg_bar_small_printer.stl rename to stl/pegbar_acme_small_printer.stl diff --git a/stl/acme_peg_bar_three_piece.stl b/stl/pegbar_acme_three_piece.stl similarity index 100% rename from stl/acme_peg_bar_three_piece.stl rename to stl/pegbar_acme_three_piece.stl