From 8c37771593e68c229927ba3d7690c18d6e0dd1e3 Mon Sep 17 00:00:00 2001 From: mmcwilliams Date: Thu, 5 Sep 2019 20:38:51 -0400 Subject: [PATCH] Add ACME animation peg bar model. --- models/16mm_plate/16mm_plate.png | Bin 2695 -> 2683 bytes models/16mm_plate/16mm_plate.stl | 224 +++++++++++++------------- models/acme_peg_bar/acme_peg_bar.scad | 125 ++++++++++++++ 3 files changed, 237 insertions(+), 112 deletions(-) create mode 100644 models/acme_peg_bar/acme_peg_bar.scad diff --git a/models/16mm_plate/16mm_plate.png b/models/16mm_plate/16mm_plate.png index 6c744974947af2a66cc54df0ab414f8648fcbcd0..26761ed5075126ce3dbb6dce09b18001f0e7bf68 100644 GIT binary patch delta 2179 zcmW+$dpJ~k8~yD)SIjWE9G6N%6j4;Brji*c-K0*`R4y}L`6!C%P%4hS$5iyxaXEyd zOoh^E(9NZ2Z>o=uLKlWg?T=>YOywSvG4ttr|69*m>;2T#Ue=3%D~OT&J!oFcR( z2ktZqFYs%6TcLhNkZ=y}toNbCmB_QKVK(yYsUY(1VY4^X!Hy%A=&7Ocf5;VGZ`w(# z@bMr;2sApZ}`NX(U!fIr`cvh zT$6exnm`}@2l$#29_0Lo@?^UTTZ2uc{wW5ZLRNx%mr1+oXup83r2R-zF{3^_Iw+o= ztvuLA5iK8&_}ybmmIt{ozu&I^EU8xQf^w4V(T*V>Suu{x)TzUWKPouf5(nGy=lg~E(y@UG?XEG0~Qr__7c zO0zUlGct-Bima0jaDTpNYO|9u$ePWsb2x{(ON>Ni)MSuQ9NH5PzgjJZpED#@cxdTd z{BIuua<2ht*PB9@IS-JplD*JLn-lVTIx$X|^VC*d<ijySpeK2Fxs6opMTqS7v_A?ovixNen&Rpk8WRGf$Uxxia$@3hn4>c znNseVqdo+SAq!lB$6R_ahO7ZEImbX}!Z22O=(P4Qxn-5FJ>?tZIh5`;C5Y4ZCJ;3d zPB*Dl0BT0w7v=KO@OVYu8LQ-(s7x8tm%>-MY^f;dgYX`(9U?OG5Frv#!Y zmKv8jZ9Um;x&P@7wmEU++qx&Yyb79kd>XZbFsyjj=&BDx==ZeqAl5Fa5vpE2c>ngJ zO*vYxSz`?AJEMIM#lFw5Zj%!E*L}#;r4M-2+LrD!T+NB_$}NC>i`v^V zwqhdvYxtXj<^j9Z>fe*1uJYL5=Hz@_2Ctm#aHFQKa!q9IuR4mxhwKe9CQP~2<&@gW zuVdKpe(wgKK-1GQp6;)K-tMOEmAyP3*?DW`#?ty3GIcaGx+w@_uuG}Zn!4G? z&hMC%(#sWP~v1PC#+YclKzf&3jO*URjyc_4tjSAF~A9 z|D@<{X#D*2jmW)WdC}%iLPOTvZFc;sS?sISb|~?PJ@A)2_QcCBYE8ivj#YGvwct-I z>v)-X7qbO?z~s&Wh&PJcFv1zuddGOjMpZ6Mzg6%4BUit#E96)oDwnb=l+-BrL#Zx=@P)*jKt&2sUNF}wn`gq0WKy$wHUDnW zUI3<18J04&AzWmDgi-qch8^13^Z9~V_(HLh(V()aaA5iRYf%|Y`~t5xy)1feRE80L ziKiYgZfs|pp$n6$277MQ@@;`o_ncQZJ3#6RK4`m;1kXhJ5|F4F>C+D#F^g3`Ne$%= zebE_0WCa1sHmlqKF@yV_Zr&<{*|pUFoJ_;?w{|0zIT!;C677)^+DA(puV{>>?NYT=p5OT+{_9&{ z%BlA3eEU62O?2xQfU{BV!N7IB-)+ri()6{4-b$v1Ukc)MJ-}9iHb>+NC1%eMp{?j; z8bKD-B$`)E3Qa`yX(IQL)&-kdF+=_dCUu|w(Sh7-WHuTG(fE6H=cns0qHTDA*`Vw3 zCs5HBor1dIri3E$)>%N?Bi&6Z9P~HA5GN1*q8&47!WQx4m@1H?6k6l+#e*b=0i7D8 z-l`|zidR}SX{~`D0!|JK04qT1f(GhrKq9PCooxH`uPvAOx&>fwq?nx1IVGSFX4N&5 z2eY3Gji#IK`%K#op3tk~k;57_lv*lj`i6O-gLbUvLJR&4{`@>_5n5rBsw!vV^F>7? z0vaKgbbiBjfF^T$|Yjm3Fx2?y8zn@ z&Q9wuLaHcs)no#Uc9>LnAWE?Gr+pPJ#hnVU6VspkT!W?%$nL|b+JUV=93cIbs}BHv z6yN`9TOs$-dZz;YZm`J5-LMa_LGR*Dm6OOaG=TY&CbwON9A=I1Ecg#O;pQ#+VDPo$ s=Qf7y(E88%!7i{T^U4itLVtIPwu8*dIOH^=3{20)b^dG1)`*h-2Lo8}LI3~& delta 2190 zcmWlYcU)6<7sh}0-YiBSEE#146<_OOH4>RYKtNQ6BZy+CidF)cRxK!)dqWgll_dzG z5(ipDhKnK*lPJ8RLcofEf+mU(h75@cAu%bQ|IX+6p7Y0fo})I;vdEdQ5ABNzUJ0tC zwnMp&^C4>PDp#XY?>U$ zIDCg|i#=q0&xYIgRp?y7_?z2Y0!HIj1_(|xRi9zRJEQ$R5kY-SI_^fIW`?w(c(SVp z+33rS4G?TP#s%3}=6h?MD>2-+btct=DE54X&xkC&N@Uv`MzOZ23w4Q$ktyDHWLScT-)nC0%f8DDpu9|hGcoRzI^0?c*3R@uc7IH!?l#^9S|ney&P&hy z(%O@k(%3z%A`O78@Z+x=UR>Uh(T2*0+Isn$K`@!H<6+4)6Z*;%J(|~6J$s>z5@%<;QRPG5%#SqUz?1nSLE@0xBvk|snffsft)C&3)wiItAt)H}UEy>u`|%Yo>n|Koi~%)?wBH0{lL>w2xQhFxW!_-1p}&iGC+SaV>t1|!1;82| z2m3)xpJfetacP3B!k|DO4zY!o66HlazGDA-yg=`@W;u2{K=8&2nxYgbna}N0Ojiei zt499L_?#HNnYib1N#nL4*!&Z(Z!&d1`IPJRmq%lp2U1}35#HC5%X$HERjj23C&qCL zUm@zVWqtUTmaf&`7Fkmx8DS6|XCwiuoe)hYT3%rZAFG=6@m;>|UXuIA?0KAbuBJb8 zjOEAC^dZsZJ_i}n<`WP}tHYDJHBX!xRDGoMl)s9PIo3g>H=0omr8(WH+!8ugF2OO5 zCToiwrz^_}Nm!UXM}J~sE?VY+y7)K$m4Asw!lzzHGx^-=(9IWk1tV+@zI${Bx?H!D zbXSuHNH-;T@mKrlH_RAJ+9QQNNzS9^q**b=?L?!-#Q@M z6k~zs(|z1~OaZAvQn&B0k#>jBnx+_-q6GH(ifAt!C{xBIvgNR+de{@R5QB) z$6z`u&PDbbs=o;g*c?^W*DcJ2B5!QHcq;Mq%Y(`VGRgL{4srhE%%?~B8lfl=4AHC> zSQ_c~w;{8^m3&O)7Q3ShutuAY_`&)N6zqXFL-n^oD6Ltq-Gaz5uzd!nub5P*TVD*? z>_j*NZPQmOdYWxM!W>20jPUXAv}Rn~N!ii|^hM4&MDbZaW%%AF9aIC%1N|nmH+IM{ z1T3vag{J#N%k^s(-%&5dQMU38uw}&}fCbAr^CG-aJ#50p%FI)%y|W9Ajn=w>WZoWf zhEgrH%^Gn2fls_th~_-}Zb8T~pPsn5LaX1#GNe8r@R->)#Tq>14POeF7;Q*5FA&Yg zLdaFdwaME@WcS!eNQZnfj@^@A$xqQ$fF)HD4pd|7+BD!yuBjnBVH3YS4`#hkokUV` z@UqfaE`Hs76g`Lqd1aVk{gaWsW2g^?_sWp8_*E?Q(JlIMxl`ZO*J7iz2S6U)793YG z;gCw69hIg_0QQg>G3U0L_0w#|=3sag6Bkl0@fPQ4D&WShIQ<%BmmgJE4_?rUkmy1* z9+ZkD#yJnv)d=-A!5FZ@l-0%*Cl?f=JYzwOHRLJ~rDB5#y`mDcmHAn;1F)(B%>J|q zWBU}#0t=T9jNOTJLze-GRCe5HF#_ZqCD{gBNVX@nfR7TpFg z+F2Ay*X@JuZgHR8=7!bUmFXVuMt*~GbFW)ty0#f({$>+Ul$uHdvlSY&F0g84T*iN1 CvhC*p diff --git a/models/16mm_plate/16mm_plate.stl b/models/16mm_plate/16mm_plate.stl index 6477cd8..c629eb6 100644 --- a/models/16mm_plate/16mm_plate.stl +++ b/models/16mm_plate/16mm_plate.stl @@ -531,20 +531,6 @@ solid OpenSCAD_Model vertex 3.13 -3.745 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -7.13 3.745 -1 - vertex 3.13 3.745 1 - vertex -7.13 3.745 1 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex 3.13 3.745 1 - vertex -7.13 3.745 -1 - vertex 3.13 3.745 -1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex 3.13 -3.745 -1 @@ -559,6 +545,20 @@ solid OpenSCAD_Model vertex -7.13 -3.745 -1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -7.13 3.745 -1 + vertex 3.13 3.745 1 + vertex -7.13 3.745 1 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 3.13 3.745 1 + vertex -7.13 3.745 -1 + vertex 3.13 3.745 -1 + endloop + endfacet facet normal 1 -0 0 outer loop vertex 3.13 3.825 1 @@ -587,20 +587,6 @@ solid OpenSCAD_Model vertex 6 3.825 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex 3.13 11.315 -1 - vertex 6 11.315 1 - vertex 3.13 11.315 1 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex 6 11.315 1 - vertex 3.13 11.315 -1 - vertex 6 11.315 -1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex 6 3.825 -1 @@ -615,6 +601,20 @@ solid OpenSCAD_Model vertex 3.13 3.825 -1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex 3.13 11.315 -1 + vertex 6 11.315 1 + vertex 3.13 11.315 1 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 6 11.315 1 + vertex 3.13 11.315 -1 + vertex 6 11.315 -1 + endloop + endfacet facet normal -1 0 0 outer loop vertex -8.8406 -19.485 2.28036 @@ -657,20 +657,6 @@ solid OpenSCAD_Model vertex -7.1594 -19.485 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 -19.485 1 - vertex -7.1594 -19.485 2.28036 - vertex -8.8406 -19.485 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 -19.485 2.28036 - vertex -8.8406 -19.485 1 - vertex -7.1594 -19.485 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 -18.515 1 @@ -685,6 +671,20 @@ solid OpenSCAD_Model vertex -8.8406 -18.515 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 -19.485 1 + vertex -7.1594 -19.485 2.28036 + vertex -8.8406 -19.485 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 -19.485 2.28036 + vertex -8.8406 -19.485 1 + vertex -7.1594 -19.485 1 + endloop + endfacet facet normal -0 0.707106 0.707107 outer loop vertex -8.8406 -18.515 2.28036 @@ -755,20 +755,6 @@ solid OpenSCAD_Model vertex -7.1594 -11.915 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 -11.915 1 - vertex -7.1594 -11.915 2.28036 - vertex -8.8406 -11.915 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 -11.915 2.28036 - vertex -8.8406 -11.915 1 - vertex -7.1594 -11.915 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 -10.945 1 @@ -783,6 +769,20 @@ solid OpenSCAD_Model vertex -8.8406 -10.945 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 -11.915 1 + vertex -7.1594 -11.915 2.28036 + vertex -8.8406 -11.915 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 -11.915 2.28036 + vertex -8.8406 -11.915 1 + vertex -7.1594 -11.915 1 + endloop + endfacet facet normal 0 0.707107 0.707107 outer loop vertex -7.1594 -10.945 2.28036 @@ -853,20 +853,6 @@ solid OpenSCAD_Model vertex -7.1594 -4.345 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 -4.345 1 - vertex -7.1594 -4.345 2.28036 - vertex -8.8406 -4.345 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 -4.345 2.28036 - vertex -8.8406 -4.345 1 - vertex -7.1594 -4.345 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 -3.375 1 @@ -881,6 +867,20 @@ solid OpenSCAD_Model vertex -8.8406 -3.375 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 -4.345 1 + vertex -7.1594 -4.345 2.28036 + vertex -8.8406 -4.345 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 -4.345 2.28036 + vertex -8.8406 -4.345 1 + vertex -7.1594 -4.345 1 + endloop + endfacet facet normal 0 0.707107 0.707107 outer loop vertex -7.1594 -3.375 2.28036 @@ -951,20 +951,6 @@ solid OpenSCAD_Model vertex -7.1594 3.225 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 3.225 1 - vertex -7.1594 3.225 2.28036 - vertex -8.8406 3.225 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 3.225 2.28036 - vertex -8.8406 3.225 1 - vertex -7.1594 3.225 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 4.195 1 @@ -979,6 +965,20 @@ solid OpenSCAD_Model vertex -8.8406 4.195 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 3.225 1 + vertex -7.1594 3.225 2.28036 + vertex -8.8406 3.225 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 3.225 2.28036 + vertex -8.8406 3.225 1 + vertex -7.1594 3.225 1 + endloop + endfacet facet normal 0 0.707107 0.707107 outer loop vertex -7.1594 4.195 2.28036 @@ -1049,20 +1049,6 @@ solid OpenSCAD_Model vertex -7.1594 10.795 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 10.795 1 - vertex -7.1594 10.795 2.28036 - vertex -8.8406 10.795 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 10.795 2.28036 - vertex -8.8406 10.795 1 - vertex -7.1594 10.795 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 11.765 1 @@ -1077,6 +1063,20 @@ solid OpenSCAD_Model vertex -8.8406 11.765 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 10.795 1 + vertex -7.1594 10.795 2.28036 + vertex -8.8406 10.795 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 10.795 2.28036 + vertex -8.8406 10.795 1 + vertex -7.1594 10.795 1 + endloop + endfacet facet normal 0 0.707107 0.707107 outer loop vertex -7.1594 11.765 2.28036 @@ -1147,20 +1147,6 @@ solid OpenSCAD_Model vertex -7.1594 18.365 1 endloop endfacet - facet normal 0 -1 0 - outer loop - vertex -8.8406 18.365 1 - vertex -7.1594 18.365 2.28036 - vertex -8.8406 18.365 2.28036 - endloop - endfacet - facet normal 0 -1 -0 - outer loop - vertex -7.1594 18.365 2.28036 - vertex -8.8406 18.365 1 - vertex -7.1594 18.365 1 - endloop - endfacet facet normal 0 1 -0 outer loop vertex -7.1594 19.335 1 @@ -1175,6 +1161,20 @@ solid OpenSCAD_Model vertex -8.8406 19.335 1 endloop endfacet + facet normal 0 -1 0 + outer loop + vertex -8.8406 18.365 1 + vertex -7.1594 18.365 2.28036 + vertex -8.8406 18.365 2.28036 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex -7.1594 18.365 2.28036 + vertex -8.8406 18.365 1 + vertex -7.1594 18.365 1 + endloop + endfacet facet normal 0 0.707107 0.707106 outer loop vertex -7.1594 19.335 2.28036 diff --git a/models/acme_peg_bar/acme_peg_bar.scad b/models/acme_peg_bar/acme_peg_bar.scad new file mode 100644 index 0000000..53b8536 --- /dev/null +++ b/models/acme_peg_bar/acme_peg_bar.scad @@ -0,0 +1,125 @@ +$fn = 160; + +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 + +//http://www.cartoonsupplies.com/content/acme-pegbar-plastic + +module rounded_bar (arr = [50, 10, 10], fn = 60) { + $fn = fn; + cube([arr[0] - arr[1], arr[1], arr[2]], center = true); + translate ([(arr[0] / 2) - (arr[1] / 2), 0, 0]) { + cylinder(r = arr[1] / 2, h = arr[2], center = true); + } + translate ([-(arr[0] / 2) + (arr[1] / 2), 0, 0]) { + cylinder(r = arr[1] / 2, h = arr[2], center = true); + } +} + +module animation_peg_bar () { + + 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); +} + +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 = D / 2, center = true); + 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 = D / 2, h = L - D, center = true); + translate([(L / 2) - (D / 2), 0, 0]) sphere(r = D / 2, center = true); + translate([-(L / 2) + (D / 2), 0, 0]) sphere(r = D / 2, center = true); + } + translate([0, 0, -L]) cube([L * 2, L * 2, L * 2], center = true); + } + } +} + +module small_printer_animation_peg_bar () { + difference () { + animation_peg_bar(); + translate([150 + 20, 0, 0]) cube([300, 300, 300], center = true); + translate([20, 0, .75]) { + difference (){ + cube([5, 13 + 1, 1.5], center = true); + cube([5, 4, 10], center = true); + } + } + } + translate([20, 20, 0]) { + difference () { + animation_peg_bar(); + translate([150 - 20, 0, 0]) cube([300, 300, 300], center = true); + translate([-20, 0, -.75]) { + cube([5, 13 + 1, 1.5], center = true); + cube([5, 4, 10], center = true); + } + } + } + +} + +module three_piece_animation_peg_bar () { + difference () { + animation_peg_bar(); + 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]) { + difference (){ + cube([5, 13 + 1, 1.5], center = true); + cube([5, 4, 10], center = true); + } + } + translate([-(254 / 6), 0, .75]) { + difference (){ + cube([5, 13 + 1, 1.5], center = true); + cube([5, 4, 10], center = true); + } + } + } + translate([(254 / 3), 20, 0]) { + difference () { + animation_peg_bar(); + 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); + cube([5, 4, 10], center = true); + } + } + } + translate([(254 / 3), -20, 0]) { + difference () { + animation_peg_bar(); + 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); + cube([5, 4, 10], center = true); + } + } + } + +} + +//small_printer_animation_peg_bar(); +//three_piece_animation_peg_bar(); +animation_peg_bar(); \ No newline at end of file