From f5528c5a9a51abdd12443a677236ac8610206c20 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Tue, 26 Oct 2021 12:24:59 +0100 Subject: [PATCH] Single 7_segment objects can now have multiple digits. This is deduced from the digit size compared to the overall size. The decimal point is now suppressed if there are not enough pins. Added 02531A and 02352A 3 digit displays. --- readme.md | 5 ++- tests/7_segments.scad | 6 ++- tests/png/7_segments.png | Bin 38214 -> 54602 bytes vitamins/7_segment.scad | 77 ++++++++++++++++++++++----------------- vitamins/7_segments.scad | 4 +- 5 files changed, 55 insertions(+), 37 deletions(-) diff --git a/readme.md b/readme.md index bb476b0..ab4c1cc 100644 --- a/readme.md +++ b/readme.md @@ -52,7 +52,10 @@ A list of changes classified as breaking, additions or fixes is maintained in [C --- ## 7_segments -7 Segment displays +7 Segment displays. + +Can be single digits stacked side by side or can be multiple digits in one unit. This is determined by the overall width compared to the width of a digit. +Presence of a decimal point is determined by the number of pins. Its position is determined by a heuristic. [vitamins/7_segments.scad](vitamins/7_segments.scad) Object definitions. diff --git a/tests/7_segments.scad b/tests/7_segments.scad index 367b13f..a6cd2ee 100644 --- a/tests/7_segments.scad +++ b/tests/7_segments.scad @@ -21,9 +21,11 @@ use <../utils/layout.scad> include <../vitamins/7_segments.scad> +function digits(s) = 7_segment_digits(s) < 2 ? 2 : 1; + module 7_segments() - layout([for(s = 7_segments) 7_segment_size(s).x * 2], 5) let(s = 7_segments[$i]) - 7_segment_digits(s, 2); + layout([for(s = 7_segments) 7_segment_size(s).x * digits(s)], 3) let(s = 7_segments[$i]) + 7_segment_digits(s, digits(s)); if($preview) 7_segments(); diff --git a/tests/png/7_segments.png b/tests/png/7_segments.png index 80e1390088b44594214dd615abc62187380ab2cd..007763bce0d10b9daa5d0f9ecf869655245359b7 100644 GIT binary patch literal 54602 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 literal 38214 zcmX6@byQT(+h1v=1O#ai6r_=qSV9m)QaYr&I~Q0GkrEK;2I+2)TtYgQhNYIyrD2!m z-S6-HW6z#D_neuz^E@;2i6=r$MV{~(^)mnfK&bFZRviGqlm-AW9PrQ$0QxDE9{LZ< zT3Q+1SQCqXXNrw}W;Fk#t_%S9u>b%;-vNLdbW_kS0N}|B0PLFp0HP@Xz)P2mmM`My z7Z_%W^0I)(u-Fj@`U%%VLHQ%@)>9l(P8`SC{AP61b8}M_FZ8Gh|NjFpqT6b2?2a+f zodOhOr8RvP5cjsfXklq|I9bOx6pBYQq>31y5TGZar5|R>*jFz>RSfCN2&YJg-%KT; za;3Jl?i{(*)H?a2LjbxQ6ifI3bCaSB!8)06WWXcau0J#K^2WP3=Gj3ocy08z<&oB?d;$4Qt@aFR=x z9m+uh_40Z-NSH zT8#twn~NR#Uz9g*A4Fg&&TYgPvW{g)HueJ&HmCU)7|~y2&&yAM-??tfPVEGX3Ql^5q=8xNGP}x%J=BAS~NGzl3G? z?akIOBuUQeBF<7`wvfg*+P!5}f&7>1X^k@D69&*lMkbr8@{Fv!{uME=znFVgnhfaf z#HxQ(A#7h^E>X&T?XWT2Il#EqN>lVMj(~o59^D! zvGAWd&d+4AwtR>7B;C%|YbH25=|d(#uQ1TV;-?7e;j987zL)7?P@ws}&*ioh2BNiN zcgY*kU7~>r$X6N;`VhxwBbGy5#r<>n{w$q!YN+;b+~=}TN>;71C}WM;8p;57#zd3} zoa^JWh3L}`|5&^`q=6fOz6LoOC{Q`QdM>-*Ua$-E-p{O)zxiclWdF)i4c}bE=zjly z3&TbglbNzehAE4+=gThaf*5J`_A&@UYCw0D^9k&}Xf9`+P0<+ppI;?9FEmc@_EZRk zhbJ80$UUxjt7J<4a*}iYuRk*pqkv=N99%qAr_oVx>@ea9Q&-21YvAf;1S;mIrcmBA zKgKV<;+bl8qkzM{Ce_Hz`O_f}>Sz;wcEvLLi@U+|TM)XhC+G|#Ds?P)I8WDs1YV2? z(#pSvX3e0)`2m0SNtj|~zty_|k0?bw&(_xhaB}<+C!=pI)$D@=@f88RB{bP!enDm$ zvMQEuNp9C-FO#19N_Z}Jf=@Q#UooA}UbZuSih{;?n1v-jDIi#I;}!T$X!0;NYCo67 zY1c2r=G((%LM#?=+xp@OAPUxhj-%Uq{K4r!Jp6RHB+7akyYoUz>yaC1)7KftxB({g%@ z;-Ak{zsf3tWs0EL;u%lo;lb%&hH|)M1dR?Q+E06zK|H`I+fQwxCd8JwCNB+nO2J+1=#sZD9&w63B450@X;2|99UFI)xW>a1z)Dvz%u!It*@?C}!;=jZzs z%!8jJc!}j8!DaCZS5zEB3!Wb}kRfL5<9|Me53T>mN%{_RV7rqa3YG=7LNg@5X7Z)z z<+l@0n(@e5`s=qdc3!(S-)^Fv{HI@)D$@Wg3*MAG!{q9RamD6-unqtd4&xs;yC7A+2H#MDyp! z_F)1(<-C(6GcP&p3xldx-wX=daUm$g>^*B#x6pd%4j@RYn(7+m?BcchFLbIXj9)B| z;BEA40jyz5Q649-?@nJGDYa&y3|5lFB3&yn{nD}{yYahO&G{b&K&+Ln8u(9cg&_H`O2%y?Aw5&o933z{02A z4}+U|$x%bR(Vy$}->UAQ7(|=rp1zq_3Q0GwtB#(3ccjJf+6Jnn4d31K9;3Bs;>$^p zCIsjVc@!Qm->=`qV;HEIFMQ@e3=;hONkr^PIjN&dq*SG++L?7WGW~D*;*XG0h>sQ( zTiltZ)$w3Fh;OLuBhyqj;%ca!@3_s~gJ(gW5PdY%>Ux2)R{q}4 zRP0pRXd1AQBqR(F{G?ryOnI|a=Gl~`g-G?kC@oet=K>{3D&GcLLDBu%$Kw@7!&sY+ zIu;lsl7@pu9yVCH=@~{F<*C$$ayHcxr7wyq16)COi2{5`9Lwj-&#S}ELU55k39J-u zL^FU>su;)=(^rB_hl;F`vPrsWZN8|)dIVuyv3k5d@?+rR8cHRLl1Zx6u_8W=?=6+) z#ti<3w?wO;U>=QTAtpx6@5nQmTY1!_$fqB`8Dis)OvV-7G`v04z3UsNi>ijhk?D>B zx9_pG{1z4j-PSh6aGSi9?S^uc&0#Je-&e_DhVh@i z=LVJb7ysJ5IwCr(P-L>9Z2aQqc7W6n4jk-We2#?##9s?hfT#1F zX_t%a((lkqB60`0u}aLBDw&J%nDt9elOAj#LO<==TEs6$cbZs@6*iFOr&FNwL%8cCP<`pv{Nx zbNMXCf2c+4K$lu?uPch&t7)TzN*+2S!gCTewV_!dxM5=DZ;`v}W%99E?JESJB;t|( zIu)anW2$v{yw1Fh-5IDvXAaT^efurCey|+M@v9-N>hQfSGk^|vJ0+y4H1M?Aqqlia zW&^&b_WZfe`k)6@pB1dm|4#6AX{zJQ6v|m5g>`tz#HaGvmrS+h$LZ!M+}3K~P>?## z45k&!6kv0@32p>A|4dD#DDck(GaN%JBp~nhR!nJ&!$?@~h6SXg@wz)}ON%o;9HbZQgtbp~Gg^?>qy79tPHJtU00m*PV(MR-aR^@l7yzlM zL;7oXHKGSttiYt(Xq3|C3f5oTF4U=RXVEMqhz#CpoJ=N$boib3V!*sYma^Cf;GVvy zO8-OkknQTC7HTv2%K&*5y8Q}eCO(HWu*>;FM%+MVhj^~raW4LGv^I-o-&>4f zJ5h}}=Ro&cPX&u|mSRX$f#l`+xqk5MqCcgwg(|k}32*|m=|LG`vY_jKr<(NhJB3Dx zLLwIs9Vs=u6p?Tp$?NTf(blO+H|lL7xiqM7PH;W)@y5 zmr^&;4_8spY!zUZEjy_6Kp(w#Di;%RFTIUfhjLc`c76ZsZsYr*pvu64NO35qsRn@* zPrtg^uh3C6$axr(2;mCh0t8Jc5Ir%e!xcH0i5Kz4pV#Q(iy%T$XITKs4wcLfw!mC8 zb&};-YQ8sDj1A!ehC?|GCO>$euFAs$LHA?z_7)>nMD5R{YEg6H3X)n~u6w?0y0q=c zPJE}?+<$@;`+D?Us1nfTNSt)YlkFkHe+08*@oMvjB+wcP8s}1ZYq%-}X#4b&3*(u`{zwO0zWn(8I*|HU0O920&1_YOKckM%@w zZ6zTvo~nPY^M>x8mQ!raNhgHd6^%FmTOHr|yv}=KqObi>v5IfZ+UDBW_kDPfFKI>v3&7wjQRTV!K#tBF{hbLj42#>1UvzyKO#sd;sCA`WbVBn39d~~2afVwcx zc&YuJkx-^pv#hKMTt3j|aV=!oORX%dK_X_%@IFig>3zSoS~Vk`0|$A2fX)^w3kGNFKN2?za->m?9(ejm zhkyaR6Qm(SNMiECaj?XoiT>J?K!5&Ur0$IaVf4=!BGIp9!yk4YXCOm$k{8MFVnq{1 zo9EeWzQ+v$!lkv(zj?A~3KbC8?7Rz49prry=z+R<>22Kl!<_11kdZX*?CZX$|AiDZ zs&zy4*^epBrf|Hh9R%=x?AP9$SHwW$5Sj2%$FIg2spN3HNgZwY$^<6p?8N@EALAF@ z<1u{C1o9|6J6dW-*{GXA-Fi8)T&<~aC91=sX(S$4&o=2H7A37En0dC@z;nEuu4N_L zCOROY8xj^1vpx}WYMqs6TPQ7`ACL-vJUW$l<{I&xIg-pcTDi_#pj2^CW4hsZwJR=? z#W0%Ycj|Z8Wh}TXWVrvqtfX&@s+d!0x#iwLgB{-#zf!4qBwCYIlN}}{n3LJVX!vf4 zqOYSx6zLLtn8FwSdfwa8>*}P$FbaC~bJVWi_78eY@goVZH4|^g&g{n_N-52v+kq|gMc*&MnjBXZmoUGmY*VM2i7=_gf!3}CzD z4(O{`rOEllG7rPcc=vZ0{rxb{)ztwLIrK%i{BneGSaz@Xs)u!|!;$Y(WSmBSn46#; zl+$4f4&FP6 zid$%;T%TQ%f$YD@I=Qi|dF$yBQt6)B`?QDf!>>mdEJ#hO-G75|yrglKAfBV2s$DTg-3k`zem5(l5x%uT%Z&7Hau^6-iA#ip z`%U*Q_v=!e=|+Om7GRyZao{_lhEEEEjK58wTFuM-Dwmw%t-?Zc;!WY7T3e0>n$78Q zx#JwURaV;0zX@5;V(TLl7D2nKS@epZsru+m_1iA&9M%WR`8ZFJ9rFK-2uM>KvpT%( z?L?m>hK}P55?RE*u`5eT@)-hCxU9E zoMoh1`o>T3nN!pBn0RR#-+^~#@2Pq!Io|7}t|cBy`ujLT^71#+RQGa?=iQ^wM9+c#mbM!7xdF{sF6KZtXIqrYC4=(7p-MA(^Mt&qvMQ7?yBA z-7c?kSW9uV;`c=;v+(anS;Xzwk-N2*o+)?Sn#s*}MMUrXla0<(S3guHCDlO9g~;^j zJ3^617q@lah`ieb?YQEkldt29D(A#bKcRlnV??-uCEV7yG1)$k7uD@Bz8o*JUsgh# z7!>`G8#Bb3Kf>oyjs%Y%)~Z6g&=0LtZA)l07wXDkp6nQ*`|D$orO zhJ+Y7#*w0=l^iHgYiIwMt{n2D^G9VCwCs`-CA_x0W+CsFTy& z=E0gls`*rwf6WmI{b;?2?%60hQ(ILbE$7|DB|60vkwkPNwPlM0qsiX}>x=L1PUrJP zV#{v|VI(!I(ZS3`@-hk*^Kxrz6=FOA%-h=vShMBY(XzsLKc0tg3z4{5e%MOImnU-Y z_+UxHTfC1PkQa6~q)X=(w9~ic(i{dOv)@}mm6y`rM*dVLlJ4K255LGh$#$%9;QRB*>2ZaO4EGg6&Ib znHSl0KU-SM#tLd0HV1Zz>v%Oh*Dm+vL8F(t+g&+UO(%C8t&N$2Q)eeb5N{b*zeD&U zS*X-gnTzcAjf*Mt=+l>FgQ8M z2;whz?;qj7Kc=n_q$QG~=6f_xU#d!IL&IN8U6n-x@!Oc)Bo!m1UL<=d`^(by80cjY zl(o_#JcZR19u9<9}PvLS8=6!Ufi6+0er63ZVJ;5T(1r@Tib-~*`7A+OHc&8BFMepYuzB@kD-E6 z>Sn2lxU7y8m|rRtFJ%#wQajyUbj_5Zj41|fe=m|@OCwrJ-5)0=atlD_u~usWEgauI z`L-O7hceT(6e_;>N1g?5msqpJW86zK?7@ve96VQ__3~#gOcxV7HQCovbNcmj=|3>& z^@VG+JV^FzYdM`b*)D;z`m`TzuFAirto0cO(?ZYhVIRUKdOAlto$tp4c{~BJst|oC zPn$mMXSDiZ30Of#!Z>!cCCOZH<}l*JDn+jICZcO(7#CGU5iKVig^#`*vi?@{Z~%#- zIDBHO9y^%S+lyim2aTG4H!yqnrkAE7YILIfGzu4QUPcsHUqoj}OfsM;4d>zyq+c`SMBWv0F8#k`EZDlCxW*Lfig_&Xj*>qm1V zOt9@d*{i~I+g$PU-Ie&ctx+geq%ME{OJ$}MBIwWMz>CinuSl99ULRW<0^SEvHTQ#^ zLoj}6LEqYa*lILUn>qXv+XuOGLwF9lWc;9ZlGW7;R(I{tIrBJmW|LmvIk?-ckqJ;l zIjfGw9}4gq$mSa^2b^6@R8s3PWj+=`GOfX@JafOcELlvc+_v}T|CO2jbPJK4rHz*r zN@8(d0=3IoN@rcITEqkt1Pf=p!olpWzSscQvk|U;RxaILao?Wqy=2vF6c0&S{M-*| z_H^{`s-vN;B2xdkS*@d$GYDYR;g$^i*>Y3Du_YOR8$;)61g8h9^U}aLxfy{3+2Z{B zSApY}YI+}YOq}n%H;58d9rnIF*Zl7C zbIAKd-^UtE5XfOtE%+}3uBnYFW&T}3dQ;z>a+D8G@)IuA;^~Ldr-@vnXq4@Dx}r1Z ztjt}T`Hp%Y`5di6xXIiS6P6@*37d7?&;{L@_w0Kr@B-dF{@!=Me)G*E0OWFksJ`A^ zx#EY8Q4*TR1?|9?S>aSdL3Y2xs0gZ?PmIY4^lxU2^-0^#W^je`Y;)fO-#u9Lk$Wc5 zymniA1@vH$@UuzQ5|b`Bo&R%kF`H>!X{j|fllaGcF013gAvXRE1uyp3r~3MSm-|~I z>jGRHNM~dznvQxgyuTcSP0UPsRG@hh)xQXy%4i_Bps0~DqqaJAW=~Jv?G2qa?-PLN zW9#GFVfIJJp_V!sX3k`0nfaR{Bh%O%J@LBZ>D=729x>F8N1>_f5u>6TPQmpcCf_ovcXLKe=QtH$ax^C@Vukm?6X6f54lMh=FJ%&N8XU<$*jI)er5xu6$$tYV_O}o!w zwSMv$D8JV4hWO{vUJX1$s7mbN`f;)=@X>gvSPSxcQU7myT=ZL)sG%%MTA&}JSir&2 zxq44puMRk3#?R7BYA1#_=atb*EC3FaJ@+fCwZoQpc%l~WYthExvt%yiK$$Kh_apEX z3#!kqE##f%sr zWDTBr^W|zPo3o;sWkgQS(SiBH442!Fm@N8yR$!D8acf-LwNHM|eC(GTt7|%_YP)|j6J6|JK+}Bq z$p)^~474Ufy(m0d&fe&2{%HT|8TbO!wPAAYL5PvMzt_~1osj-2klH#f9|-l*od?X1 z9du?6TY7N!0CwCZ+jWdfq-z3?04Cvq4 zQ^M9%`p2nn7%K02w0S?d=R6qw1)VPl6TkHA8TP;+lz!iSD~BTX{PnwG9+TG{$?z4L z>x1C=+rTa~D753`FS3S?PHD@>zVTf1ybCm%PmXq`m`jCBwmT(d>CMZzt`FBxt^CPl z@4^ng@U)uCHD?C))mD?bmYjtMs{%Z>Zy@t&K(we=Es9%5m75Z=xeC{NXtIh=OErBD zFoL(=jLvT`iKq~#(Cm(pN`pvYK<2!j5W4(3COknh9}CLsDkn?9R7n%Z^2Z2_tn~ZM z$vmDaRc8lgGn`sqqbmfet|v?t%$aQrJ}J#LB+0)KyYo~{#p9-7RfR?eh}4W<q-eh2he^_hP; zaMubZqJLOp5n|Hj75xP9zkqllM6OSH$d6-{N7VAtdKHMglJBTP-DSUiK(4n|9UIda z+pVZ24%Os-O{5a__W)NEfq->ikS|J(i_Hrq9j6|Lg1J zZx%h*86Qtu1X9>oQdcd>QCPr;kV)z~QuGJW5lr~k$L|Spomtkg3=)|rhxjLB*}h=N z7lUa`6CpbA2F(}G)O_*emRNd*J-_SK6^oj8%op<_0oyLg<;#ly2!@lOM}fEF_5=Q* zm(a`tc{&hrHtkpq15+I~udZ&P-#vuA2&@Cbb;d^xgYx^1}J>|5GhE=Wp+4e@1R&GC=X^d5T zRLc9-7lySg;q#ss15f-U0uP$4MXV+{*J~*y0_>(MGp~r#B8Fm};Qo`kNT^v#$HWw6B~*{a4TaL!X;WIAgR%K+8rXqod7&9z7`W#&eOrg9BrU-{}kCrGJWB?2lnGnFXyV`q3_hdX8`5 zhA`igrIM`YzSz9@{V5Q4_j04tsrj-XWI)}{Nt_I3%$eoCZS#~u;oH@f9$SdsjC|sN zw5n_SO7%Bu9Njg;d+Ai2M7;V$c@#pqrFW_1SbtI|s_djI51iD(cNoo6_ zb$7A7ss8o8@v7f?%M~r)OauU5n5p5sBrlAftcws+rD(1Jg3BoIW)}v$EZ~t1T~>bf&^sUPZBFgvB1()XkarzZ$1$Rn z1RK9xWJzgAN}b|Fe9i`5-P<4@rYzEXvGc77GDMn$X}oalbsPOWHx}aE+{nIT*B{fM zMLb&i5jh756NEqK)Irf2{57x`L-8 z@TzTTw^3aa8_N`hpaNExP5tVK>B$NsHs)lHv{1c#KG{I@Rdj}0!<@pGU!j<*$X>B2~Bt2nd-;y-E zRizzHI$q95dpYR&5sPU_evFN?Ir)+fjcr#Fr#fN>I-f*p zp!&04q+7KH=a5^9wzSmc3(EK14%|nhbRK@=h3NM1K23pmA8re4L@m@P+x5POo#g`@kQO+q*}eItR3wQ)!KLUF+Eb(lT`0LE~K)zZbgT@>XZb}H)l6Fno=9n zXPKsEmL20J!^ya<&#Q>5+Q4=H-NBc`i^eO>*Y)#PK9{wn(oQFx9Y7h8$mh?$T0!$( zM%l?AO6av(+jf?{e=v71c9TG>0`6s51uVp#e{Ar|eqXyt4-tM4Z?kG~Y!KA=;PUluv7nM-f>AUaBwnRlXWMA-Tx55jD2leNVfG(o zJ!i<(#q5r;q~8`*jH64)!OsX?1va;kTY32#J{wX{5>MQYH|^tz3kzo(q17UHjA48H zxEz+$bC6}`A{a5=(Hqf<+K#uQVEwjZiOlq~9>5zU#dZy~_I8%w?5onj6Jls}zSy+^ zYYx@(O*y&lcePs=`0dCztRr&uXy^# z?7-`jwc*Wqjdm5pV3zwaeSJ^&;`k>&=F-SNY4>4J!gP0GXGzuK|D8YX7t0}rYySy3 zzGvwmo=47~K4> zBCB*wJJA33yozD;O0ID2)K02gU2s=GL<028A%)2osmV=KQ-%xefCvk;5fTow#RRz4 z*(@q(r(*vpMmwi;%YyeOM_06B>Bo_bW_x4(^P?9PKtsa6hZP6wL{$q`s_m~xd(dBaxPo-n5}iG2U7syPU**09HR|52dp;puNT zhj{9Rg!VRx#JvSU>OXdBhO43o+mo@~)@$>ZvEEl}YmRYiMR5Of0tF}8#P?0|?Rotw zx>ICLtWi$|qR47?c4D(cVbE9HBmznXkdFJA_!-wwM$0rRasN%1qP<(u3#VtlB^06k zM{T+U=})tG@$~CbkN3x5w2~)Cp?~Y%kDm?gbcUUv!v_Ct_WYkLF^8`nr)%yp>E6Nk zf#`sF^3QAN(eCjPLcmTsHa;}ejqM(&{q}G1F3yStch)u+OGZlY=IcKWmO_i<(r7&a ze4(V76t1)g^4eMK?=ZBTNRaUSnekpA!(25KhbZS2r^c8>$NfnGgT0mchnM*Jb(sf; zLuC8U+S;RAC^e&X4vOX=e?1>Vtp&XGOKNF$bE#EXMJp82c2RL#|N|`eNuzZtm2at?of7df{eCB+m9VG@^Tyb zN@)6hVdsx9C5xAkZo&|w0|Hf+gPSfZ$JdJ<^*H~7KCH)qUgvA}mZHiopjqw)@w;S# z=5l0vrBh2y8gP_M#ke^re`q@x|M(*8M^mn;_2bd9l6k^s1(4+tEzs4(X6@*HP}%$A z^O|EZ&{!6Yz`a`Xr+KTjV`Uh@!&DL7S+_D6*_s8y*4Sskg0*V}BE$$!^W zsPTQQHl?NvYp`d|gM>S3Y=$N_YQd|8rVO{1Tk{BtOh9}dw%Lkww_F!_(#_|2Iurj4 zRBPkG=Y7x7o3InM0dYqzV_JREl;&NgwZ{wYB$y{EX@yUA?v@zWWhpNO=+2Me0j+c! z0|ibY^nZN>{=H%PW-w$a*v0TZ#BBHKixuADg*EH3xZhT~RfjEqPI!Y*MOW}0b!NzD z;C7`J7?dtOLePVAg4muh@Xk&QHAe+C2m3KLFt(9R@whDvy_1=Du%HZL)FrokSg-4k zSGD?V(4X~8z`^>|8!URW7QwwYoAJil==|`8InT_F{)TdG&GEM2?S>9oT_dJ^drZ)v5<44{i`TZ*Qj}V{c3U zqf*Y&qmQFy`Mf<09vJAp9xA|>N_(MQjSEmXF3V1%AbV=YKivHSXPoW5Jzh=^w?qnC zmq23@F!7+Tu;3U@C+h8L96chD?mkB&pEJb7==N>r;qZ79nIYm0%f7L4lM|t#&+S*z zdlC4^3R1}uQ7dzaA@o+@mCoD#OJY^4)XppDh4TEOtCEKwlPo1;^Uo?K~}4vvpXW>n7}A(@aTH@mR^?4*+$#9Q1Dv?0b&e z7xSJxN%_Y}v>xsdIPp3)wba04C+(fj?tJ!uL^B9%*E6~vtcbSPoEgNy{y<;sv)46h z_hX9~gCiF6x_i)f3E8Cw_Z^lb_I+j!Ra`paL{A$^t;I$u&6qEnV=N|en$`~w)ZLQ3d>8&|yN*P6b znE2^W2$KGhEM8$h8!I&X^(WLG@zh%t@Y^KY-2(=aRr6SRwj+9orZF`2- zp(it~O<1r@nIA4-&XS{Q-6-koUK}SEfbPr1=He4i89=$2Y|KfKX zyOsYk%OuEA;_;@aiqpDmhbV_hChxE-05_JP^p6P!O@ZDM-cOPtx6H9QVnnup=XG6_ zoL@MfvB2SNq6+gZpIW(FVzOxW*q2%#d|dO;(QNB}@Qyhqaw|5$v37cF5{l|Zfh(jE zIWY(7tFJD`{>7`4;d_-tl?!fC=>FV4D()_BQD*?FjsO^Dd@>6RHtv$b?03_U6m-9Z(m>Um^ zznd!P?F;Ov?zuT((a&#?H=h#y&3AVv;$mLT9ZN3n;sKcsOYUmo^$7XPMrl2c>cE*( zW_z)BCW9DCAy0~7r!^5&(CYN}Uw`Ka{v10x%7~L1m7ea>L^`7?hI4S=OgdQThswTQ zu0(MkeiZrhX=3DslYgL&^}kt{aJ&VyA-~hv6#$egU?}ukOL}yE%s#RbT!c)JDXA4F z=vBW;(WR^t?#NimaB=zR`3z|&S+_ILZ0NT>c7+ceOQCs7$fC}T=b#&$_~NGobf;OP z+MI81tT`fdTj4u^JoR~N9)vkwc2MQ#MhODGXP7L#VTn#2v@?N6GXUs z_OI0SgOcf&VCWTkLSzxcUhoP~&t%xJ{vB4X!T?}=E7#b>pS|qU^r1bBli`}Ctkhlm z-R_>!)KJ0*S)!BVF3yUH`br^yU&sA&i;fONO}z;`qC zmcsI{B6LARh(+*8XXV)V#B)H7!s9jv{==&Cbmi!_7R{F)`46NC2l|+-vB$#3=wiq} zr_2}BuB0Xf6<<~5lWSm3p`x!o%Rd%ExI?m(tFFHZ(ojuh{=K=Ti2qa_HGx_=#5-ib zOIX;3+@0bN3B2c($9fZxXAWP(1hpu9eD2q)A}+Qg)92M8iwXt&Za-JBJZ3EGYaXWafz%7``yCFaaXTDkNzl~4aZcLB z%saCv1zDGw71goJAD@-5V^6ye;UKAK{1I%Xk^~xY(Uu};Bn9{fuQIm;_^OvbYVZ-Y zGMDuX9J1$QZoHDFsFwK}E7)LK&~054we)ZK6!s%}T#@2mIc$vBvo!Bw-Y%}DXsO+07)OOnE?S3gKrwk1LG zvdeXC-^K7%<6&yH|8@8LolFMaLh|%GkBjjmCw|QpdH^%;vXMl~qeY*AYDdzi=DsZA zu}k}813Tu@q(>L%1Ao8h&e3wfd&R++@x|$d96?zfYt^yoHqTa7K+Tm-M=J?V?we1q zJqE>nud6j;CeQdYyXPdc)fC!1{{^qSd{V{yoXC; z@mxPx_S>+>>XbWdV6`#M_4wfk6C5%lAFzhC?uap<%3sdjfz9- z-Y*h)Dh3?MjU=eS;yYAUv?SC_UNhsN=eKX!+qh``0uK*ZGg7_ zJ?o!i=S9e(YwXNHqS3|vwjV{7GgJMqOj?u*sf;aC22gHcJedQbVQ4m z!(olt;LGcCT`t+g+~0H|x3R~EHHlS!Xc;Jz)_BBevVCd>8tAeY!lt+nB_79)Tn06G zqX>j*NGj~6{bkx-`GvkVgwj$1LF2xz8xNZAV1w(XinD3aN{>OzX>Hi@A-64UmH-GE&p;q`dTAc%oACde*zzK~SLu zPNV+PTtS3`szzFXP_;PZ@i9f?K;LzCQ>nds%-}NEr zF4X4-#TreiFHfg<_f7vW9wxu{-rZbV3mrT#kBA;OaE7U+A!1hO4IE5rRr#eJ#^JR- z%SSl&W?q<+yX2&X_YNHBJq45S-utA9!mJ-SSUPao&nNlCM?(W|hJ{=&u2ya&7S zx9o@H-Z+jTPMwb~;k4%as1C!gQy*SzD#pR>P|WMs`L^m`Uy|bJW@f} zeRsXYY44+x?A_*pJ(SIih4*@;LjxCyTo{R*c?QR#ku6l)y55;{=1NfsFeWD%thFYl z3$%_sy;%f7Be(m~dgmTps?nti%QN;ubuep8d{5#>2E2nKY2-O84L!6b^fl>Mid&xc z^w?)k{9=6v&_E$`Sl2$*e6pyp0ACAuATk5iMZm|EU=%CqFTTOTouQI%h^CpQvEc*c z_O%tgVk9&qzL?4IgXs>7wl`P*R&!!6E;F-Lwhtcuup5%Jj%88iM5LpPZR}-6*PR2| zb!#RjX5xj@;b^SzZ_@k0yHXb(3950$F(r@aqexd`>Z)8o?KL0$FM*LumkdBx0-S-w z+0F-aMLhpWKnz(OvM4)7xsAJ9;3M-5FSb9A_eHw~Ec`?WEg!^JRROC+rW82?PFVT3 z#t9Rtk~D6tAB9@u=8bqc{%mx@dP4Z)n~tH*<$C^G=V%KjGczEjK%dv`ghh635I(!@NX%OmLt-AHEFrv{mSmo zTw1hEX74ZBt0<820v5*Uhny>`^eB*IY!RFrxbampE%= zKv{0tOu92Mvxu9{qix{No3L#E`%(APM)}vzvL8yY$tKibt&fK+^=%=k18D2nTJGvH zI-O@oJ9Bg$%jONDGHZ;$k?aP*yZyMC%}#T`H}I7fE*?^yCaY*gX1^JcpAI?M>nN_S zJ_p~6R-wUPy9O^4l7o+Pts^TfC53xN%c**BO081FZBMBx60u%g5sJ2D-ipoA(37M; z?wP!DBgQCOVR-COE?vVngC<@Bk7*A#1M3?92_I+gcTSdGxoxdt`XfC&YPE zi;G?Sd-r@$FRmtyB~7U`L-I7!{Kap^N!TJ7Zu-T4N0L3XF|xawp!v$i>`YJEK;d8c zL6C_KD%%&8vsOB=uXlYld{DJAA3gxQwwKu|7GkMAbbi=d-`-ItjYEE(_Px5WfiK;+ zZn(c20^^kjRmQAjv|lbi^XyJ})BxAc(reNxo=823F!H~LRiv`~{`7WE+;^*5s}d${ zap%23rMzPN{%fTmd(MV@wlpGR1^KzZSqWkt{cD#QFZ3lSO4E*0-My4-Tp*-#<) zWOhtd@^I7B+|>l<6WVdQJd909)O??%2_wVok7XE~Q@1>W+?9p!?;a>xpi4E>N?V^F^E>0v8%Cuk zdKomWB6?$L->h|9qmcBz)>WvxqiAY$Zd5cZPtByt<7>C|2ETo1z;B@3gexXV19an; z9Y~*gUFOEBdga|{ZVwS?Tm8DJ$~G9e$iBEO^UE)d3bmzvSem+x%_fg$6P{o4?L0s4 z=cXH#`?yy|^980CQ$Xq~;dulcpIVHE>V13iOD)YK^;wlsyZ?Qu+6%8U(ZO%?90zC% z%erNWb?#`aV}jGj5xF}fzuqk@`onqNxu}ZPy>m2eUuBR@}djEvQ@Kr6lU%76QVs zZSZZsyd>>u=tl<_t&%83SMyWA$oSai-S(8&({Ek+78L~WtSi%FGH~k;qSje)DmYsM3!C{wENnNvwEg0 z;pK>)y!mR2hrab;m+Xzdv3DQmwqb;vL`M2k7`%?fqWy=oa*007jFjZj%&PtC^E}zS zur4=>y&und2X1zika54GioMCf$6XG%LzDh1@y_-?ad;#ppFvh=^nou#gcc;=R~ zi*#+Qpy_iHyQOve5UN!%&riJqF6|}-vV}#G)^$mYfP6BjfYb6`yQ_V<>93hKORU#7 ziN+2>5%t&j#d_FEn;<&yYF;`7WfLV&Qzaz@>VSbx26DT8>eCPVSJ$p=%+$C7<}*6l zXUeegI2+=Q_x1(!Zl!JMYjo|nh#mP^--d;Ly~lHEA#bWps9=nH+Xk+uH2d;g0sgRi zHwrx}b`bvhR~aqb4LXedvzO>^^K_KrF$GyS8Z_5TA9LGQjME3G%ZU}&Yy z?(Xiq!O9Qs9NDfQ?x5O{gl3;{^GT$$zhH!GSP*eRym$WY7uS=Xpi&P^t5x5L8KJc8wm}-)H*%5=6Ko&R}61c(`@RAcB_2c6N6=q~)9S z;M`7ZB4kl}589$NHIqd8v#(BHIb@b~1cyr4H~PJwef_*iqm5Tz4r1S@{NbZVhI8z@ z$Wm@pEeYaP5`rKv14^`VSpF*l+o=0E&2gGm~lY;)A>6&x_Brf8U|Ljs^5FjCMYc?fn=k$kEn)WbcVC&mPz#N z>jsjD*>5tEUuq#R)OQ1-{jz0eE>QWsORO&uyV(D{s8 zBkEL8iV0@Re*Le1a_NI%?IJ3uK>H3}{`#lMjW%9$wgm0@X3v2mhX=FDE5_M;4BPOY zPmVpDQKp&arqhSOT2rRGyUXFX18=q7(>Bm@?cdi}afZn)QU6yZ(Jwyx>Wi`GoS-`M zs*`2QF8|h#&s;vp<*4Ac=MMbRM_+vT*ho025X_9o?m2X9v{U#pGHM+J4p4Y>e|)L{ z%ciZc-B@ZP*VVhK=3qyGEoW^$adm$X#Dj$vD!yP%c1BI#_}R4=jUf?;lh6Qr~2 zU|MJm2Rng_AqTU%b~L+1(P$EBWbyPL4_^APH#)fOanHZ= z>9yZ~VQ!#>D2Q5j?mv2XZwGnNDbql@o5~Xp#-7Y?P0}Ywno_p6Cm%HXY-lfGns1wE zw$7XGny;<3t+-`0m_!;j&Hc-tet3RQ6o-hU-}Qs{Z~gcI)zv~&NtyN@IC6BrmVR{9 z8qC77)WX!=iRWdqwj$|M3A}aocI7u4cx$5;)i+AB-^i#MExgw@mPE{^webJ>-HV^> zRW2eqWPf=6&gVB|+@JyxOJC>qo;00x?E6PKqWgh}3*wz~_pg2vqlJhF+V@58$kD?? z*`U!Ua`Pe6;^LzRcb_e>W!YO`yH#aEdV4aYwc0Fw+K7Cl_J!yq5Sz_!5UTeK8b~5$ z%KJaLdgjwnDWn{YgI%_ohY~UmHfYC;~ zPq|@Hp@AgQ$nk^m!{0d>)%_6YlKj$lzxweLek-Uz1m!Ac;K=d)y`~={YF)A2 z3ghGB&zH6+=~FG)>Fv##NxDAlpwuoDVzDPIk^mBonBLG3G>$|X4n4TP`_qe^QDaAl zq;Gus{=MHFm#eFNh*6XWmF!=YaL= zmiDjf0d>9ci#M#eEo`ydz{xaSyb zmOcHy{OrR^gF0e3I0T9`dU*27FUl4JB;C%Dqlfp!OPPY1EK4m+jo*7&3T(G6xX}no z!x`w>P|3~?0~?t)ezVOPgocrb*|JOj-yfg3ygy<%co0+=8NKp9OxaBS;FUu|mX6Wr zQ%U;xFCX4{H0zsIj<>=M4Vrzj-Q8VwQjvqUhR*E{&!{?u?YP^nCegQv^%F50dH<*1 zT=-x#vipI^^|CGj}sTtg6<106>$vre$a{x&-=`(Tf(JNnUQPL-@%QYm@jx9DzA`P3S|M^coI=@S<+x@`i+;y8l>S7JGqlz@| zqltTuw=U@uxIQA^)75D;S0uo_n!Or~Sv599}m-MOD9CUYgGJb|xM; z3^vcN^)iDl?c(FH@h6LHZB^i)((KdI+v6nB>{I_`6IL5h=&f(Ctr-M>2wY(E;s?p> zM4IyYs~ZO|pSCDuXwN~Uca5Qf9muGluWO>uU7h$Km*k>mUKk9;~xw#h^QS!~Q*cNnBT>0L6Ii5Xxv zjqQHLHbIj&kR*vTvOGREV4DV; z9bhxVW@*u6=uGLVM8;uqh(&(#{@Bw3nOh;v3t)LBaBokt%|07}D0#-#9X(mdH-GU) ze^7e`PSzkn5@|S?7g205-PDcB|GL^mb;cA|u2 z7m>h9Q?9eO%R=i&yb*Kz+*Vq>`I|Qx)EXDP(O63&+ew~8%|}pkknieicFjT5x@330 z+$xLNEOfS;L#;Tb%=}g_vPoDW(HGy2NxK0%Q8Phc$)dBbC)aucqioyWcD}Z&K&rDR zqOx>{>_Gu4B)YV4_v_z(;x)pYYYu|ITW?=yR%}JhK_s+z?OScqry6a=ZO?mX!w}#C z8yDXD6Akl;8jV0Eq`x=rOyDhAWV_()xcr+8%EbJn_JIJZKG9c6RB<;E1lCGqdb>N~ z&je1f36Q_5%MXucqn-3wV`EidVf&D%QghJL)$%ieTX$vk!-(92w!^*C2y8PF1*1ti zyZah06OsVh#03HXyyXVHS=GZh zGYG3lboXbiN}@`$PhYn~+r#xC)n}{Ce@sh&^k9@;+_stC&@cofdiVWSBoP5h31^_M z)7scf;H?4UY2bTA30cW`RxG~2i`iDcJK1uII1L?zklQN z2aEO=lBiO1(A|~J1m1F((ZAvJ`&mXnq6_c;i3eY78Hs|LgTC(WL}mh~*c>>9ALNvG zbTsZw2ylVLu`^pkB4VwP?ds`jqQGeKXrKFu?cTS3_og32?ILiT90X7*1|<4oym=%F zW&%4seJx*e5QQOXmxr>p`=kA!RtP(_9GXs|pxGzem+(yBEde`fp-pnC#8EW~0IaQE zWs9PTBqC@Dv#YNs(-JZvn+B_eHra%Doylr%F=+cwZ)g~rLZV=@PfuT$)0mmSTY<=N zvfBjY5BJN|irW+#OCkc4qRc>VM{_3oGz;yq0Rey!V-ISR$3^4NC=vw%qq(l`ZYyo} zX;rAV9|mtuKjBP!t6e36M$xpw!H@DH9CTa;jv^YC91W+m(2af)`_rLwg_y%^OAn?}L*XhtUt~rPRqqxv6dHQt( z^xxWp+VCORPzb;+iDPGe^~q1Zxie?mW?T{l`n;K;-n_Hzx)tgJ5w(XMNBTgV8Fp>* zv}hv8K)GlfIQl2=U;q7yc_YqFRGA6f+nsOnOyCrof*JiQ7Dl_Y)jl-`p!e< zc5OMtO<<+WOiy3Oc5n8nA8gDPowj%=^Liz+X-2gXsG4)t5I0E{`QF~`ATZhpv;}ueq@vxKK-V_Z$ z8{JR&b$+)_G&|jblE%)yq`F-aB#eFQJPzJwkm01RP_j_n*&VE7$(eSMEL~rYbe%{- zyQo664A?Pu?n8-mzp>aJXHVcbkp#5F(9rgR-qBr)tY_PULE709%Zj6PdPCA^j~i&? zr{5-492>b<41&GYD@~E2C81?3D{dzn94S)N2HP2qwFkAyo|_^?q9E1Xr{XXuo!*cl zNszJm&u9^Ftjf|9DU!u5-7ZgLMx4sh)DKFLEQCAV7AZ!OyE1XCIAXhfw%ru1fOg3+ z>a2*os|&H3`iC?`+GsU6eOCZZtbZ(hyQ_*EGv%KNzJ$vi9w55za4HU(itn3UL4xTa!t_+pf>TVndG{8 z(sgSR+Qe>6ks>*e&Qr`TZ=FtWNRi@AklHQcT5;(Xlp@8OU}(g(;?i(-io`(e)3CWd zE!NGbIw^%xBm~v#cw4=OL_pXVZ;mR!LZrpnDUtzc+j!9?59D=Av)5w~aY~>RNrBoX zH?n?d_PTozrLnja$)Qai$4plINJ2WjAw`Nez|OvPf1k$UQZyEAvIU`5&%(ODZJ(1) zvE^tV)$H}9SJ!1wCZ$la*umG6bL~+iM(9{ybg0H2)Gp7B)&Q%vxQRA)?)`dZ`sxW@7L+j33%VUa zLKU$8ADOuj5bl3OtJOYwhs>hubg}T2k&IyLe!p0x4so;dMSfaBmy$G zWh|eBF6uoWeR2r0_VxoHwc=7V7HsS)m$qFfL6BE=&i>%t4tOjghN7;^Ali1PoT631 z!d=>4pu-oJ9*9!_m4o6A4|^!ykTnWP{refLaV{kH*~AL3%k` z5JZ02KKXMWcE%{(3BmexakiNjXD5l)eGE4oEqWgjq3jQS|MGDWt8^y>Y23OQXwloK z8E4+2Qa!3{9J>5zZ`{(I5Tp!h0(fYrQi!zOig%b$neSXVZRs*?K3TQC6=&FKgHV!a z#k;6EP+gthwpKof7*w?X>QVUaX15;zwNxNT>|n#A0cfQ=sOhKfwb0oUX-QbPYYoYA zU9~&4QRC^@LMNSKo11IBQnRp?4;qt}Kb!86-2>P!(`jb0k8jDNOP;`0IO^iwzZ2qAi9D-V3_CNq2 zG5!}lQKK3RlFL)wXebUsb5H4;SH6Fr@|=Szlx5ZNlK z{DPK~Tf62K8sr3$P({7(JD(hYr~RsG2#3W8sPc#C&otZ*svMCeb@wdI%=<#5k+~Eb zf==#cT@3-hoVoD*3pu!eFqpyGCzv5ObU+|a6EbFUYHkr3Rf0mk!=0Ncr;)i78v`Xz zAriVIcVGJSXi&PtCuELkSH8${M55Hwr62Igm$(#TwjmVh9C$v*jm zi(M;{@daXl$XBAa6((uxUECn=;8r>cioQeSUjX5LRZlwylP#3ecK-ODEowMw(M za$jm?_1B8pFe>3}z#2kw!O?hiaRf>E4tHj@OsO%KqCO;fzmV|D#)(fa^}&~`OLsW_ zfqXz@5?oZ=%2I-6Yxm&%%u*WNP7xo>2|jWK%3kkBSKblYeWUb1Kr8kniCpLn&5-ce zPxK7ysLdvp)Zbf}UXZCVmm(HO<+@+VWC{RC$O4Xh^3g7MOl#u>B$tHL8ej^EoEr^QXYW_@Km;= z_Q4bfo)EJA4OjiG34&&O_rUygF*W8=#6VJ3oFVso{PDiEvIi>%p-S%@Ys;w}J0}2O zNigyWo?-nRcEr*c=v$hZPmQ@0v9L)B5rcSP_y4|!L&t41d?pH$QX~MHJyy-l2d#Tb zk~+Iev$HN4X{kbrhJsju`1#8-9d1qKIZ~|IXP?>1hA^lA&5}q-v1NYH%95dw*)upl zvxL-`OA(6A+#Ui_nH@c|bH153Yno?l6iUI~BvD&Zo>8p+*wLHd`E67ufuLCo^exOR zrp8=~+F;&r88i`>RPV0cvbdlP7MKpLUj&_!K@_fE%$>~Em=}_-_ZO_8kq|P#kv97 z5TtrCFE?^y2$cQ)%a_kS`!}9cTqaOxM4Z52xWr~Qq|-&}}T7nA(bwh?#(!t*5Lk~nzz(*a;g8AM<}XF^KZ$b)7d5^RSZZBeM; zhpudb(l49WizAlQ)m@mG=jQ8EZWFMb>LkR5fa~^raOJG6UCva3(?rx4VtUb{Zvi0f zb6AXk03yvq9hn4ef+Q3d2@2T*)1UWrkhgKiv7NC~t+={DLKU#@B{-sO74^y4ALsj zw1tSrl$OL&6FhAu*>|3p>Mv+!1FVT*g!$M7VpafaGvs9zOAip8qQ(56;8K|u8=RBR{_*`wpJqHWjc%s^c!*y` zTO=fONe=$OPmjDM8Shr_bQ%gd2$q;YASp%2%L0^{p^`ksXUvt1&eDVC7S*`aw1YX0H-U987A_Y^U-*I~$7DwLu7q4HO;> zX0#hNilnNBZDd35`pRG+3Uj(>UKwBzIFnDZ`Yb^P^}sZO+P>N9MGNG87H3j=FnR)i}o-)DeX4E*fB|HM0n-fF~l5ash5t zKS%>?5K~F7aSI6&&fcL^-e)I*^;#>Ah>L3YLy>h0l7XlRvm_Wk${b#sOXbCYrJm~S zR3VWB%@UBlNOXXGl75h(h(W}nSYGoiAO!M0saE4o#Hue`kYCE2yZm1FzkcNhc1mb< z4U2NM#8PK-wF?QV$y8!CL~TmWfms9KY%a-C`2=ecx`bgcnxg7pL6|NUJQG{%0OAix>6azNZewiP95>r=K>vcB-rvbpS zTwJ##Q3;!cp1%e!;auBlTUn|1^VUDUfj z?cIG`zF9fSfBgMl70|_kzqjTc!VI9W`2^ocIBnF0cpz=tqQ>pUFA zl5YYakj{06=4OP@th7sv(E4qnYR)=LXoNr@pTUuRvvncS5}_bQ$z_U72Ub*=)cwcy z>Qb7wZxgU6^Re&0-&3pa6sw+=5jV<0B^^t8FucW%nUyOLHiwwNQ1IDHwmm3OE3Wsk zLChwBUdMb7aW+@TO#jYrjeK}6T9P8gb^w{BGrxAiQnmU{u{w?&@r{>)MlO z;#iO=gn(X(>(Q{$p$Pg|!S+jAvqL4)&+=KHCB$bjjcS2R}Iq>1sg$xvW@3sYx;GfEqEr;6U^@ z`~#^{njKk61|_95j8@I4a+m3wWi~8rEH3oMEg)wSB8ZbL%k;CP?ymCm?9OT;+I}GN z%l3)OANIgwvgXU8lCu=Uk#A%ziInd|6=yR`R+=cht&|CX%WP(Ajx`}Lw3b9#TdkT= z4T{W#sR$^j*evg1LogUpd#g@YBC~I3wtbq2+Al^=gt9;Qb5~B1E(;JgfKRt#Z>eAuk0$k_LFwdnK{Kx?ot%Ow5yWj(MNY?3Kl z|Jmw`0?p>GfyL>i_AurW{mxndB>b{*=(`{H!qcLv2ExIpg{WEc1fMiWDT3Y=swnRk z4H-OrGP&BXBhM!W2%hZ8)DG=w0MMF{@IyJt%F;~MB><$=s%T3TG=VL#P60@@BYfTy zVw)RtOugIt1m1vv>-B!;%4tilY5WQLRM?1YqMoZ1Py%5gHju0odPy@^`&DeX<=}xG zMO=V96)L%~5hSU&Xxp&LO!ks+r+3GVXKSHrojO5Mc4XJwbZNUAbJVe|m%sL0gj}Ni zpI#Y)@2;^ms4^TbI@T5U7A9gM06tTgAwtW>qZ48j60=l9k~2o4)niFc;L;jInIeJ8 zv2Pg8QXthzSXUxTvpLkaIK8yZClMv8ue6mA@Z8Riue_6C7jIO)5m(D=V%?yzdJLF# zAeIoS76*V)0%vO9%_Iv#26Kpa*=~}xY>8%6K@7prZXJG5hmZt7xN2tIs}yvE7iQ-D z?QG1oM@nCX!KKCkY=u$^hF|$Y%9%GmB}d!dAi1MK%1(pNzgWZo3Ls2ik}}+dUCJy#OFQC14DM zaZN0`L0C^aVJ$u6s!E23L!BiipTQELq9yes(R>gCoFM{v@$G)D2zpYK+?S-j-ldsz ztmIaJi5HwRSKbThJEcWgY29WWF_6Jq5;Ac4MOXMMgF8aI6e_Pn1b`)A*Cv`M`OwTn zZ0}0e8A!IWlmG$da{OqE?#Os17|>crMI$A3be3ml%SH@+mlR3D0Dk$(QBv!T+pdBt zJqT0Dw3%X#s#(Sg(KbFOFY0 zCfqbK*DwgUUT$QMGg}4$aXO=Ub$LJ-2v8_9gp&>ZI4}4h?RtE>oJtUECdTTc5{QB3ye1{OQp_u@9AMSGTx8=$I_cY|I7+)&Meav?|UG$Mc?SkT$KHdAs`Q zRryyS7=pxdlWH`Sq1gZ^Z>e2f^RvaI>(zHQ0?GIfFCT*MD^W@A+0pY3W~)C$$-t3b zmaUEmB?w|IwNF5A$g6n1vNjI;JPE~;0Ce{xn+r*_KPY3DzyLg7M0MP*0vS=^$~WJ@ zWH4Kz#9(8ne`z|E_el(bys~rQ%DbI#Q7MR)nn?CpQRSG`PHfIZeiyXPPwTzPBL)!x zMrY*5F+jD4(=q0%Mq$D&s)^QSbJi-EE|cMtEM;PPLZWA~TB#E|01hEQ3=b4^gqLRK zwto{*3xJ4Aa_IY)PX?tsqO@rEvC}tH-2kGacF?Rq>`=G~QA2LV=keJQb8GWcCfsPnS|-ZgU{v zm#mYQKj>YRI}Hr7$Rg?h6@}3lUEUfJ3d+icH{%7Zr{wEU5|dz-3XrNJBqdKEt(kpg zCOSnmS)~!M1`CV9O2rR&XaYNA5$m{x40&P*!62=IYs1nU>}#8j@U4Mh*X#fI%2}aT zOU5&=)JR8yl&VY^jyP0M9zdkJyCULEl~hld&0NH#5&w=MdW>*802P zXC6Tz71dE}K>(YkUKQjdNaXUnW@lT{nA3ws%dKez0$&NfP|-#pE;VWAEZIBVL_DVV!x@QqL?RD z+_pSsvdSP)T4O6#OuConkpu>_mN%UZAQa9%UtQa5c0H=LIPl z%un?=yx>b{)=ccFKBHy;n21?vBA5epBwFGiQ7g{uc^X{sI_5w^6R|;pVn3#R~x#kU_PK}Yz&_Lui* zG>H6i=Ir<1&(++1sxJhKjEwxe<$PS^!!y{ZTp~3PmZv2RhJ?#t5#~lJRduT}A)h4? zI7^8Knv%BS2o4DdITQCSy4#XQ;4g}J(Ff8HOo9v+i|byFioDP3RJ^`6Sa{y`kXZu2AQ5*j5+gxz$RE&wVNmcW3D_qTW%?1u601Bd*GKYc1QG`1}?wLfbNMC zOOWy6#B<9(h38W}NtLeGOn9JHvk%RRdO|*oG<+toJ(%z=lq`dKMNp_wXYU&u7FjN4 zJu}wHF_Q@}`7&JI$KE|SKT}AJxi>%zk_+~)UiQlrmbYUn%c?6vkppg75P~W;it?Gf zz|@HPK%-Qt;r4_Rb~|ZeFi1XC{`!MTgguHPPoe(CL0D|888-N??M^^%wVFJ zX;^LN0)v4#bc7(Wr2Zp^`bpMTxZ2hrV#%x?KN4M98R6f)sNQy7oKI!|2Z#D~^Hn6-!iwBrP)$2xWqur`7Og|V=d zjh6SZ_C0zr)J0MzEZV=_KtdKo-=4t*H<+6cjXHwx z-c!KJgk?bmH2Wl^GzM!QvcLcn0d`C0g8()Rz_i#X6k?aavS1i6Abc;TSEkt_2B~ta z*AtN`pWQEa@3^?{0RL1>6g z%=-cWScZH5CBYy->)Ig|uJ+)W5XY}v7Dvo#2WXfYgS0K#Q6d@o{Xmf9ug zo`_FVEEThzsZGf;DP|&2F23>+{a$SBS9 z#d&!UUS%*V%I1gWW{W#wiV6|C-mahj^!R#`@o^bM>;W*Mg+2)YeE8bh9raR%)S5MA zJ3?P3h*^U{)Pd0Lg;^7MDigB3ED(c~uA}-gE)r&t0?1h;P_Z1lh+GTA$x*L4j$trt ziW{rw4w|soCnBxQp@I3C#g=O#N*W~ml6BVG)kyUQ|S!LFzJGjKvcI;(1oXb725%fi)1_O%=|oq0qxdN*3-eUjq)`Y1YC;C zQ35*#v&+h?)SWiBBfRIQgJJw3NfAYBMU8 z_fnDwnaQ9_Rlh0|Dm)LR2+ZAf{8(fxB+DQxt1SS66~*td%LjP`aO|d{-fEMhzV_p0k+AcvKO}{ z!ayaT5I6KdqB1A1^8BfEgfBF!iAeQkyrv~{1zfNDgDYokj%fUe07F(Za^gI-mv`By z=O9UMS(7CE@C;~Hl9+PgYQB(~;me*}trQB$1ycb*!A!zmM8XWx#Bc~8FYe6^Xrb67 zL$IEY{|;@N8qhI0Ck--0#`4^i=VQf~d%e(<8R1Pc;z+0h_I+|?_j_f^0-oD(>B{+B^!5`k-9W4n zL`$Pz%asZsj!d{{C;*H~msAuZ@epT3T9~f0_BHwPSIx zv?Z7Y)!_$mkDxlWpqPch5F%z9lFI$UlgEn}#n8opwc9*FvpqbpFx?hSL?l#E4}bK% z{g7^`DaDL9_c;L+WZa0OW8XwUsXXayF8nFa#E@`7I^P$z2o7o&$k$fbT^g8=3Y@8( zhaxrfz3GSZuiWhU<8e#J;v#WBh+vXUpci%7n?iu3j>$UiFg*Z_n6D>g96AI5{I(NW znGrrax9v+6gkR3SbLCqu#4PVX7b|jR zF$eS2NJsbdXt)6KwGA}#X)s7>CGL+V%pfALO$>@%Ul3e*(=;qsJ&$Li2Gao;AQ`W6 znAl@*jVXD-jPPAEGwwDv=9qM0@OwWv0u{dfR3?}LY{scku3Qc_prhP}pzgzmipVta zDm{g$;U_?l1r0Gs2}BA$i2cw`bb`+S#~-m18woS0*OXu|)!_$GPys|lu`NGEf(^S2 z#ND;Rt$u=LYxm&X?9#R^Rj_34Klo1X`kK9KPIdXFjke-ez_x8gJ=~U$8}-E-3vShD zj~?nJ+1I4)zM4m8lFUp1YsA_5l1I{e5E~}5DHN%=-;mB(z7NAA^&n*Q%CAbFx0D*mDuzzu8I~a2$RDlMDcNNNW zb(#1aOumTomLM1g<;PHnV&=-X5g9on0PF!eZ-qTFW6dH01S!@eq@+lNlZGH+KL`*e zvtjw9{ivCI6|gX2pdPuapzBHiq&8sJhl5yBS9fuCw#A!>1iW(Y;|niEaY4ru(+R-j zYam>eV;S?P%2Gw6k`E$M-A;JaVP*DX)Ebx-T#)Pxd$5+4JNBAdd$^2*YZ9~u8@6xw zVqv~B-UgvF9n+OuSj;&RR&S7Z<32kY4YlkJ;xvH{i>L9;Q~zc91Vl1)ScekuRnm5Vv(rK&1n-1k<_Myl9u zQ|vY(2B3VFRygYzMQz0SXb#*kg0iz=$tXbpNlzp`q&p@O?yz&Rvj*2U2a*_qk%2So zEiUBa?OP0!KtlPAva~8=C0nl}oP;i_;U8W(3Rxz5qk)vzj#Ho~MzAUBcCQw_M?VEA zXjxFc9a__4E(OtCj_9pmhLQv+t^PKMBmfK(L^c!0ok$l}FwH9Dem$|5EPQ%t#@s;D2uQ*_=S2%62I z{??fhE>MyKm#>_Ga+A(Ngn$8dqJs%@@gFn9S}T`G4TatGL6VR?knXPiU?nVTXW0pl zxsQp2tvDk`05P-j<6qD$3t|Q+u5rQI032c<*^!uUFD)?Urstc|L=?UhA(xC}pI#b> zF5OA^zyOS{T$KC2TrU(QVFjWUWx()YwuTR%z#U=il!2r#3@7=hQXC|_2N`*75`*fS z0|~H20ak3&ke+ucH9txj&OHwro6cs;hUtNK-ufPbmbjGzcFq**@W17 z7eHx(vaQI-P*wkuq9O@Y?TL#hRV7i;Q^;-`XskC-zAOl2lwQBz*+5sQaxiGNHrEkOD%bUL<2D8fS)fB7f3zFEZ0hy{ z0OTu*r<6i6=nonSeGJlyy%(jY5d6E6c37C22cP<$5>%Quvs^T(_P+i}4GgRzpcvvPyR9Ge^0`4e#6t`C1ckUgk9u(9q_ zia)hB)}uWbj>=MVSHxnx>i8fdG!};iWimjl!xljDeE-d7Gi90o=+_e-a~~5)GpI)} z2n-qD4?+(NQI`M&+n-!qoKZtPR!q^-O(Pg9Ik?fWk{edLBB2Tx`S|0JaM=SUyN>RE z4M25vL_e`Bs=I#NJ5zW{Yp95?QUpG)$JwxAYCm>x=lhC^`1+g9u6J1jf(wLmySFT ztJqDuEB$zJKbet3E4N~D9Tq6k3}LU1!|Q9XUq3?c&Ch6G_cwqM6WGrADWod;}fg&6p7`;Fq0K-~S+xj1PS&*I~)7n3Hkdv%=eht-qK602C%kL_t)jM-_SV zv1AmNKQ+eJR|$D5?L^+BTRB-R>5OWR6^Iyn@drKWZc|!8A^q0u!}Wlm+1@iSKT~LE z-6@si&=0O0TTe3nE!0u{QBM^&00t^wV^n(s>DV7!A$;_;n+-l$>ZVI3*M-FQAQ&by zNV146J#P{b$JFm_0TBCQpl@lqVUviMAP;}{pK1UeV4$V62yfZ<7Eb0FEvkSvn6 zn@E676GURJ6!!_OiP$iO?dq4Z_3gOeG@+%l=h*&y!X4oRCjI!iy_<^CsOwt9Fm+hS zO2C(>K2;9xk4)7O0BG`<@=>3rS+a)aOhj8Yv(jLY?X>bnlGAZ+uNc$q=mtOkt5Gfn-2IA~j3<`#GGve!VC`OcJ1_V0> zm9^$LU3m&^U3WNK-_{zuvMT4%5KU3;%HXZG4>3(;k)E+czKb*jss}Cl_NI}AD^UeyNyY2HF$!#yyXyd{k$LUUlgRGmLalsZ<$-*HD=`OpI&EFfj;>xE4bAnGja2@U-D=yd(cn=Lr0M-Wx zCyoT_8!gg(ZZRi(tok$faIk#)X!cQX?Dw{U&l$`R6$OUV3e&$^n+i>_26zeTSKXC= zPCC{V{h@5CLsDSn)*5bJ=Hgfe$|}n(HDw6fnab$xnjgX)_)3as;wK$bsmAP1PPGa= z^7o5Bls*zYq?qqe;_ZjnE;qfYHuT#^b>%(1tU=DpLPXhkG`fCR%!HH6dGYzCL{w>s zss2)XH&B0UDgN6IdLP7CI%|Ie^}4l&$aom_F%tx%8waw^ikHP86voGAM&~E|Nu~XE z1-620yLE!y&QX)8(HFaB;oe>Ub?Xm(kORs(>c+QHNLNw)tg(vZaoZ z)4atjuF8?#auL1uJnjwL(;mNY@co_mEZ)>^U00KohL*WU|O?D z{4x^pGlV2Sg`#11d{K;uVHi@keH(;r4@pajll_Fe! z4XsVNF-9w*PVfNJ!$K^-P{=4;xYP%c0us|GqN6uuWUOQP+gE|%8?}o43iD7S` zI{xZ&&wt70!RI?Om}$jN!+S*F=}Eeyb7sSNPldIoJWFZ7EKn8ZLDQ@a7&m|*WKR3^ zxqbR5Jd=?j)THi{k$?L?DK^e~w$6VGypS*Z%sI<1ho&RExuWciZ|Ts6J%z^Y|;XkL$BPoazYAhY^+VI8nv}@Cjp+|@Zq6BjiTt-@X<;nI}7)@=ZT6PdLK@@7)o2x*-#f7DSxN5K$_0y2zIVNB_!YL z!!OzQodRD&!z~|a$kRkv4(qKW<>2qg91HTF1uiktgsq=}I|!frT4--EtJTM`L@xW! zx}+cX7w3^@mXO^3BtK9J2Cj zn}e;@k;j?N7_~BkqdDqCVb_a^B1I98%-mAJi=R=)Npm1(kd((VM15?n;_6_d(Xw10 z0?H@l4)-Qgwcm&h^NAM=ncXXM`a8IkfVC(Oni*y76JK{%b9|R04z^CJdUuP|1$*1D z2pj6r=|mS&xA1bo17~-nk8+~Ruo$u9ChR}6#DkD($bqy@-GIR!g=5MIkkg~7P?jvg z81*F%s!=xAH{%ofo{Ps{MMRLQlqAIzO3Hc9Y6K9Mr8^=Wj5L(~HPinz_&r?sGWyTS zM{ljufa;HAilZt)gkpcxTy6d9B@=Apzb1eQ#Py`dZrL0ZR%0P*sxd}1Bnl+h_@SPN z*n53KV|gaeg4JNw5(|vgp*_jpHrgyxj0{esK3yc&`a8b%6eDsP?$w<%#mPD>Vj>v0 z(Aa_04a{ine*esV*ak!R^ThQ(OdnPS=@(b!8rlV){*zc4H572QHf;I+gYO}uIvPb$ zw&cVu$)*@A4hpPGS=O;bNWEDfmiW9O9a|e&s2-2toIVeKUB?0S zCfLF0Qp-74N!Q6X+rDffjmQ=M5}X<7Hp~@@I(0!MlEF%I-b-g8$uHj2uj#Op;NaEw z$Wm<6BT{rDor$$c#c9#Tqxqa-IrMl|0nx9?YQn$$%PI=3m-iak96sV)p2I+klKP#x zc>;B11T0q^BF!b?dSzX>dXfT42jMy=jZK*YkdRWgt>&lzJd0pE8S%t-DymO;FdLnn zn+Qr6QSs?H8Tlq|&*G~&>2^nf7w%oGJ<_fFKSD}Dvto^xRg-AWFHU{i&en};)g)gV zeVm1Rx7{b$`v;;Bk^9gmgV}vtZqc1SRZ!hd>Nv*SSbY-Lpc1Dj8a1Jl6iwE`Z zROgv++VO%?T5H$H1wvTEW0qB%Qe!I5ZO31XmhLwe@--lvVE2K=MvtBFW@Q=^)myRk z4JA+B?|8HB)p77!YtoG+Wjwt-bLxh{)sLULzWQb_Q$*=NuG>VVUJSd-eB`{Ok6Iu| zZDGDe7uEZ;l(6_yTm6=FOk5I-3ik2XNJ~oyn$sP-`><}uP~)AqS-u~21cDscM`hw# zz~B0pM$^=+qfsRpe4@1SFRv2+!W~I%ekS_2wneY4cQZ^H_s1hHv*{hn8cA0)Pnm8_ zvk1rKajLA$N!bs}ux+=W6z#sdYTCz&*e&qPB=t#Xev{%>{E~W`quJ=*$$Y*ia}dxA z7*Fj-oyW{eO!;88d(HQon0Jrmn>4m}%QLZ4?)mHK+rlqeQ>an=KSO zfZ_Ba9@RRO zr+LV#rzt2>9Hd<>Q-leg)+lYLAOmQ>8Jmbz197Juz`}+fHfum;(-xi@U;C_T+iq<( zy=}N!Vg$-saa z)ffE9?h(-(y;2EF9DL-*R6-@6+?h%ulVCCOiXs_i607=bK8Y;9p}5wX zw~JkCi(UPdaZ@roUf;kY$>OBRIIbGHIuBUQ853h>yTOUF#(KIavAr+1wI-2P9EL4D zRcpFB7M{@TqXCM4=}P}-Jd}do?$(JJIrUl8ykevB5-#o<0<_eT6!Cw z1GNulDM_HId@-ayYR+Tr25xoiM*t4!EaW^|%;u8r%BUPxx;vd1#iWj)2?G#<4B1$| zF8#7DzkiSFHZM>^1=_w<)O$Fl%lqpm9I!MnL$Y7c^9&X>>0<~$vXp1j>Mg$F@4V7k zEXhcM4e(fNc8_C9klUV`RF#_E>qpE1Lf5MM*gGC9WNAa z-)m?MshjULJ?Oj00d@M&37}%usSzALHD04SSMxY9R-3ykCbWOOFp>YhmTCBtTF>wl zq4@=q>wZk#F~Ww?UpYuF1Xl9{*5!P@>~J{9A0nF4LIN63xNZ zMW;aiB+^1?2~Ddom`xgF-hCH+Vud?g*gDEJwRj`E#Tca;H7RNvFq?gRhzqY9`VeFm z*y5E-JY<*M!alHS>Lq#UW-s~r!tE|{MddoQMN2yC)bDYN4~l`aZn1+v{YmmFT-KUT zs+tD13oR^bGKu2|T;>Zv9wOK4{C@gLoC?9wadpn&yH@yD@CQ?v6zz`5IO|7EZ4&e%&DZPNGbP_f5S$jzmD z`AluAcnKc(k*{B%_0R*si8*e7ElOPl0-cw8Sncheaz!B6n|XgVe>ge2qkTNFEo*q) zor$B+$gO-kntW4dp3Xv+532aIeYijZK%`P`=I}i(pL%=D%r&i@7Rpl_gs1tG^XO|j zHCq|R1cK^$07RsnNu0vo6?&h2wVgzPMu}5Xc5ggtgXmmw!ZW;IVc}x#ygj>xBXC;}O*t|#C8gjj?R{K1;LMp$C4*gQV%U!<)|GqL z_@NfhQHXa|A&071`UzV-%Z}a4)ZD*-<|^WWt0B){A2uqjl;X7MJ^+(uyjitAV=>p~ zHlTp0s+v$;+(fi5D+Q_35+ZmgP_Y1A1O$XOe$7aM{{Z*#K2+%@-v`233{3BoOxLhA ziJt13XYlhmA4KzkZY7^04;C1J`V~5=$|mn0Ym*irs#)?WpJFXUfkw2cl`NI0i|m*I z=(H2ES^ME9Y>t#rF+{R1gK&P+EGjq&R!%gcGthoRBc^E|CAR6HjGxNN*B5bV6QbCz31p@YzW*YNm4U!a zq~7O9U`PJE%8`L_8YDRmtbu(bGcKnI3c%HjaPP$@M3*rUF!A05}%ugPX4F(4X2a?|y?AEX&=jV?Lc%#LA zV{i?+c8Vs*&ZgfKD&@;c@7bl|%gd%eQ`vVD7n$4dkgPDHPwH&3H`3-CD7yj{nMDL^ zH#Wr$FP1fXih3%L0J5?s>I;`8Z8FFV#b>aMnxR(+HM#Xu*LIo1mtTMT%+YANngE+x zGZ24qyzl~=C*=MwTmGvML8d_bj_{u&3=j}NeC~?+?pEgR){>TP*1!QIA}sPyQ24Q+ zFjVIu@QpYzNnvq_@Iy&qVZJiVo&TeNa<;O!@&11lp#M>@X5p6w6hJD98t@7Qv*3RL D08f0A diff --git a/vitamins/7_segment.scad b/vitamins/7_segment.scad index fb60844..c4d1631 100644 --- a/vitamins/7_segment.scad +++ b/vitamins/7_segment.scad @@ -18,7 +18,10 @@ // // -//! 7 Segment displays +//! 7 Segment displays. +//! +//! Can be single digits stacked side by side or can be multiple digits in one unit. This is determined by the overall width compared to the width of a digit. +//! Presence of a decimal point is determined by the number of pins. Its position is determined by a heuristic. // include <../utils/core/core.scad> @@ -28,12 +31,20 @@ function 7_segment_digit_size(type) = type[2]; //! Size of the actual digit and function 7_segment_pins(type) = type[3]; //! [x, y] array of pins function 7_segment_pin_pitch(type) = type[4]; //! x and y pin pitches and pin diameter +function 7_segment_digits(type) = let(d = 7_segment_digit_size(type)) floor(7_segment_size(type).x / (d.x + d.y * tan(d[3]))); + module 7_segment_digit(type, colour = grey(95), pin_length = 6.4) { //! Draw the specified 7 segment digit size = 7_segment_size(type); digit = 7_segment_digit_size(type); pins = 7_segment_pins(type); pin_pitch = 7_segment_pin_pitch(type); + t = digit[2]; + a = digit[3]; + digits = 7_segment_digits(type); + pitch = size.x / digits; + has_dp = (pins.x * pins.y) > 7 + digits; + color(grey(95)) linear_extrude(size.z) square([size.x - 0.1, size.y], center = true); @@ -43,48 +54,48 @@ module 7_segment_digit(type, colour = grey(95), pin_length = 6.4) { //! Draw the cube([size.x - 0.1, size.y, eps], center = true); color(colour) - translate_z(size.z) - linear_extrude(2 * eps) { - t = digit[2]; - a = digit[3]; - sq = [digit.x - 2 * t, (digit.y - 3 * t) / 2]; + for(i = [0 : digits - 1]) + translate([(i - (digits - 1) / 2) * pitch, 0, size.z]) + linear_extrude(2 * eps) { + sq = [digit.x - 2 * t, (digit.y - 3 * t) / 2]; - multmatrix([ // Skew - [1, tan(a), 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ]) - difference() { - square([digit.x, digit.y], center = true); + multmatrix([ // Skew + [1, tan(a), 0, 0], + [0, 1, 0, 0], + [0, 0, 1, 0], + [0, 0, 0, 1] + ]) + difference() { + square([digit.x, digit.y], center = true); - for(y = [-1, 1], x = [-1, 1]) { - translate([0, y * (t + sq.y) / 2]) - square(sq, center = true); + for(y = [-1, 1], x = [-1, 1]) { + translate([0, y * (t + sq.y) / 2]) + square(sq, center = true); - translate([x * digit.x / 2, y * digit.y / 2]) - rotate(-45 * x * y) { - square([10, t], center = true); + translate([x * digit.x / 2, y * digit.y / 2]) + rotate(-45 * x * y) { + square([10, t], center = true); - square([t / 5, 10], center = true); - } + square([t / 5, 10], center = true); + } - translate([x * (digit.x - t) / 2, 0]) - rotate(45) { - square([t / 5, t * 2], center = true); + translate([x * (digit.x - t) / 2, 0]) + rotate(45) { + square([t / 5, t * 2], center = true); - square([t * 2, t / 5], center = true); + square([t * 2, t / 5], center = true); - translate([x * t / 2, -x * t / 2]) - square([t, t], center = true); - } + translate([x * t / 2, -x * t / 2]) + square([t, t], center = true); + } + } } + r = 1.25 * t / 2; + if(has_dp) + translate([max(digit.x / 2 + digit.y / 2 * tan(a) - r, digit.x / 2 - digit.y /2 * tan(a) + r * 1.25), -digit.y / 2 + r]) + circle(r); } - r = 1.25 * t / 2; - translate([digit.x / 2 - r + digit.y / 2 * tan(a), -digit.y / 2 + r]) - circle(r); - } color(silver) translate_z(-pin_length) diff --git a/vitamins/7_segments.scad b/vitamins/7_segments.scad index 3a30c3c..de4adf6 100644 --- a/vitamins/7_segments.scad +++ b/vitamins/7_segments.scad @@ -21,8 +21,10 @@ //! 7 Segment displays // +02531A = ["02531A", [15.0, 8, 4.0], [3.5, 6.2, 0.7, 5], [5, 2], [inch(0.1), inch(0.1), 0.45]]; +02352A = ["02352A", [15.0, 8, 4.0], [3.5, 6.2, 0.6, 5], [6, 2], [inch(0.1), 5.52, 0.45]]; WT5011BSR = ["WT5011BSR", [12.7, 19, 8.2], [7.2, 12.7, 1.2, 10], [5, 2], [inch(0.1), inch(0.6), 0.4]]; -7_segments = [ WT5011BSR ]; +7_segments = [02531A, 02352A, WT5011BSR]; use <7_segment.scad>