From 3c13ae1ccb341088a3f56ee57c9f6c7a75014958 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Mon, 28 Mar 2022 15:37:52 -0300 Subject: [PATCH] Added KiCad 6 color themes to PDF/SVG PCB Print --- CHANGELOG.md | 9 +++++---- README.md | 6 ++++++ docs/samples/generic_plot.kibot.yaml | 8 ++++++++ kibot/out_any_pcb_print.py | 8 +++++++- tests/reference/6_0_2/PCB_Bot_def.pdf | Bin 0 -> 10558 bytes tests/test_plot/test_print_pcb.py | 15 ++++++++++++++- .../print_pcb_zone-refill_def.kibot.yaml | 18 ++++++++++++++++++ 7 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 tests/reference/6_0_2/PCB_Bot_def.pdf create mode 100644 tests/yaml_samples/print_pcb_zone-refill_def.kibot.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 94d91e60..f1d109d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,10 +12,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - skip_bottom: bottom components aren't rotated. - XLSX BoM: option to control the logo scale (#84) - Import mechanism for filters, variants and globals (#88) -- PDF PCB Print: option `hide_excluded` to hide components marked by the - `exclude_filter`. - https://forum.kicad.info/t/fab-drawing-for-only-through-hole-parts/ -- PCB PDF Print: mechanism to change the block title. (#102) +- PDF/SVG PCB Print: + - option `hide_excluded` to hide components marked by the `exclude_filter`. + https://forum.kicad.info/t/fab-drawing-for-only-through-hole-parts/ + - mechanism to change the block title. (#102) + - KiCad 6 color theme selection. - Internal BoM: - option to avoid merging components with empty fields. Is named `merge_both_blank` and defaults to true. diff --git a/README.md b/README.md index 51286548..67f1176e 100644 --- a/README.md +++ b/README.md @@ -1647,6 +1647,9 @@ Next time you need this list just use an alias, like this: - `name`: [string=''] Used to identify this particular output definition. - `options`: [dict] Options for the `pdf_pcb_print` output. * Valid keys: + - `color_theme`: [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6. + To use the KiCad 6 default colors select `_builtin_default`. + Usually user colors are stored as `user`, but you can give it another name. - `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted. A short-cut to use for simple cases where a variant is an overkill. - `drill_marks`: [string='full'] What to use to indicate the drill places, can be none, small or full (for real scale). @@ -2039,6 +2042,9 @@ Next time you need this list just use an alias, like this: - `name`: [string=''] Used to identify this particular output definition. - `options`: [dict] Options for the `pdf_pcb_print` output. * Valid keys: + - `color_theme`: [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6. + To use the KiCad 6 default colors select `_builtin_default`. + Usually user colors are stored as `user`, but you can give it another name. - `dnf_filter`: [string|list(string)='_none'] Name of the filter to mark components as not fitted. A short-cut to use for simple cases where a variant is an overkill. - `drill_marks`: [string='full'] What to use to indicate the drill places, can be none, small or full (for real scale). diff --git a/docs/samples/generic_plot.kibot.yaml b/docs/samples/generic_plot.kibot.yaml index fd2f5669..0ea41706 100644 --- a/docs/samples/generic_plot.kibot.yaml +++ b/docs/samples/generic_plot.kibot.yaml @@ -1074,6 +1074,10 @@ outputs: type: 'pdf_pcb_print' dir: 'Example/pdf_pcb_print_dir' options: + # [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6. + # To use the KiCad 6 default colors select `_builtin_default`. + # Usually user colors are stored as `user`, but you can give it another name + color_theme: '_builtin_classic' # [string|list(string)='_none'] Name of the filter to mark components as not fitted. # A short-cut to use for simple cases where a variant is an overkill dnf_filter: '_none' @@ -1473,6 +1477,10 @@ outputs: type: 'svg_pcb_print' dir: 'Example/svg_pcb_print_dir' options: + # [string='_builtin_classic'] Selects the color theme. Onlyu applies to KiCad 6. + # To use the KiCad 6 default colors select `_builtin_default`. + # Usually user colors are stored as `user`, but you can give it another name + color_theme: '_builtin_classic' # [string|list(string)='_none'] Name of the filter to mark components as not fitted. # A short-cut to use for simple cases where a variant is an overkill dnf_filter: '_none' diff --git a/kibot/out_any_pcb_print.py b/kibot/out_any_pcb_print.py index e76066ed..0c21b7f4 100644 --- a/kibot/out_any_pcb_print.py +++ b/kibot/out_any_pcb_print.py @@ -48,6 +48,10 @@ class Any_PCB_PrintOptions(VariantOptions): """ Only useful for KiCad 6 when printing in one page, you can disable the edge here. KiCad 5 forces it by default, and you can't control it from config files. Same for KiCad 6 when printing to separated pages """ + self.color_theme = '_builtin_classic' + """ Selects the color theme. Onlyu applies to KiCad 6. + To use the KiCad 6 default colors select `_builtin_default`. + Usually user colors are stored as `user`, but you can give it another name """ super().__init__() @property @@ -100,7 +104,7 @@ class Any_PCB_PrintOptions(VariantOptions): def run(self, output, svg=False): super().run(self._layers) - check_script(CMD_PCBNEW_PRINT_LAYERS, URL_PCBNEW_PRINT_LAYERS, '1.6.4' if svg else '1.5.10') + check_script(CMD_PCBNEW_PRINT_LAYERS, URL_PCBNEW_PRINT_LAYERS, '1.6.7') # Output file name cmd = [CMD_PCBNEW_PRINT_LAYERS, 'export', '--output_name', output] if BasePreFlight.get_option('check_zone_fills'): @@ -114,6 +118,8 @@ class Any_PCB_PrintOptions(VariantOptions): cmd.append('--separate') if self.mirror: cmd.append('--mirror') + if self.color_theme != '_builtin_classic' and self.color_theme: + cmd.extend(['--color_theme', self.color_theme]) if svg: cmd.append('--svg') self.set_title(self.title) diff --git a/tests/reference/6_0_2/PCB_Bot_def.pdf b/tests/reference/6_0_2/PCB_Bot_def.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f85f6e61ac6bdf73b52b7c2faf2b42880fb0ee2a GIT binary patch literal 10558 zcmZ8{1z1$y*8VUIT{Cnubi>fy-61XA4Gu%s(1a82uS$H z-@W(y?*H4*dCorjJ!`ME-o5sjIM2(fudK=|z$b#s+Hu@?gDVV$L4EAqaiyi9{Mt_5 zE(lks$OB}E3xz`YRoy%hPVk4`(+=UJ?Bw9%=!7dPi|dDgJK1^R1{E||Y0a{T!M~i7 z`lIDsvz>#`DN%~saTM_ss-Y|ns6Uu2{NH~&_s5uLo6E#AsyE!eggAnxg3>e0_aPtU z{-iHQuFe+)w+EC@q@AEbufCmzB3~DX3~$KXU%lJ5VfaJ0fPR0y-8CV1uNHRuOKy#& ziH+{%E%jHwX$!;fQI`hhPKP@^o5b&GQ^XM82+^lGTtKi8m;7lqBY4I|by@djkEI^T~8__;v7w9vdv5$8NYL*tAaF_=tks} zB}q%s%~uuqI){ct7oMk4A9MgLRfrFIjr+l)gvr#J*&gxVT8i*caT6Bp8_F|6{5>%omds z_uHp~s>Fde0RQ8#mC- z`p}@%iafT8r~_)GlSj-97Rqw5M<%T&L%%9@|DX}SsAv7R!7mYvgmH5#ffL7_uX>{HC&4$bqbrHhn4iBV{H5yagv{)qLMexm`%r*qQd8I z2({8f)4uIfPP+EbxS=g9X+-saK=qsSgDxK zXvoq8t8ZWi^^p+M{<+k2T5YnWygba6^`0LDB~*gcd8*DwUDX$Shr_CSkjxRhv?o#9 z$3GSBHdx~~?}k#t<;3?%HjD7X7!XyCz_qNX-I(=CN1)}WH)M0Ezr;;|Ek_e#dJ`OI*ngID5%xp>M2sL(5d_0Eb zr-^x6fb9px@-D$n&M#|dPnqm1G&Y^+7GrrUHZbbt5u|dh97&@sSZRqtn#{O~uGLKx zg2@;K6!lFf2|&_HJ5!G}DL@E%iEiN=jZGKUS7^>gOXLF` zbe@hcMTvZ(?&HZxEh`xosT1BFTK_f7gY)VWE90$gZtNUS7B~W?^L2hnbmjwO)a-H` zCne;`I8LFG*fz-1mPyu(9V(U7rYmpy_{n#i^g-#QPwYDc?Bebv(Fv1^RC&1^4!okc z>7+z1<@(JLLF$kWO+i;Ip2Y_{&L3RjS{2&{THhdo#@0cCMAH)D9{z@TG@An*#AJCr znP|Dkkht9N=r8eIw&G3_K1Ln@KiXNxsq|@QwCL|Dp5$l>$;+yvs_(9nKC}*wf%dQF z)Z=vGgACiNh^^Kv_^2}S_>@MCh5@T9fCHP996rnrYeA@xjUcqmCO#33q;`mHnwL_@ zZnAX1^zsE!B4Mgo(?u6QF%B_p)I$IXN-9GkYNS2t?NFz>)*zmkr&S!Xg zAeg~#OnE>U`dF37NNJ=bt- zDs5h+vvS~P$xw+)cKU0eL3z;nva>)wHcRMOH|jUfHTz!u8}#=}pOd&rBq=@G3c{VC zT?a4wQNc?7^O12EYs(<9qi~rV^+^SGTkf;tgo9#0@;t$$?;A?dQZmxnSalC9W?z;r zfG-%J&*GLu#JojWC?vmth@>f9NOot|06d;_-U1G(Q&z*+?&afvE%H zHEp$TWwE*%w4CA(S!pyW+9}7ScKY;~xe6BXR%UFTy2u zl=}&bP|6K*&csPoWe~||teRjG!`GvfwqM>!FVLu&6xSZ_2FzjPG2XaOnpRjuQ&-8JwSS0b&yR+>FH26><4|Bsx(I44qq^T1 z0xyDBOp0g&&7J|B<-{fUbXmk1yByV91NqNc*$yrB~`+eq3w;>epVX;paIO)A(E}$DyrY=kLT5 zYae7q)z)^yZ5E8~)hlUY@{;N05=Zv58Ely?5#h7&7HrILv13lrEPdEHPHuEC-sS$5 z{hd?8p$x=fR7#3fNF%SUfJuKhe^8XyCZWu)R_VnU?9<&#+67f7y2l6cnrqh&8@4*= zaUZi21OxXAQ>Yi26JxlZA0da{1)lTi)Y02y9yz~bT@5_wWtF>8x&2<_!?tY;E&wvH z_U6>dzM@UuCEKAs8g;DX=LQtIQ~>3Hqrkx?i=?MASc_D?G-GB$r-?G->&(FB(9v!2 z;L(^LRckx^LkS(c&ze6zT=EQ#W4fqI_DthR2z}|wJ3oAKw;@i?Kx>{h zR%I;Dj&v+Uwr{W`G8ALw zEY&n*dX(8}!s>QeOG5PueaHU0u13X`RxGPKXO$L6e)4^74<{9#jb*N9x`xS;OdD#% zd?qEpTeE&hprB;_K-J{pdz^$=y{>P#(A?AfDgnmWCLD|K=Q|T>^4$wt!}MDIE0@#P z(Vk;dq6zYB$d^3gw=(@>Tt?*1hD0v5&;>AlFmJP}wk>(hckKDx^Gy-2dZ@7>Yb#Xn z;RO~JOVZj)r334=Dkn=hXIS(v_6sGMmAiS=LT-;|@Z>KxdvR(;sI(d&l62ZX&%+h8D|j8)@ksA*T z>-tD5vDIxk2r8Z=axFOGi#H}(wA%9(DlMr`TSp@^57Ol;z+bhK|Z66CFKQ{GF} z65V-_6%oo`zUUNq;sh{>3$*{4dQ>V|zA(l47>9#sAAwmLupQl80(nB?UhxgQ#4?!xlFa`p`sy2pEDjn-F32tqSAMTvWL;2Mke;orKwZ3Vk?z>ikejAR&Eh7g zIez$UuB0k%@p!=*67B?%31XH9C7oJ%OTGG#;kS031QA8=KbZf-J$C; zk6|Od+l@BMj?;YFRQ88EGWite#Y?7!GB@?FFF*5?g~F`T#wewT-ksx&H0G?V5SkBnpXeb`*8lXHOMa;8lFCFr>+`Rq;iMKQ1H2}m zDQ5~d1Y<%oJ>G3mP4TN;SIJ7|AD$HDlTOi3rMTqmf2YJjQ&~^c!!+ zbgdp?EZ{&dt1QD3Qyx}ZX%{t03${l0Ij_tcdskl&i3D5tivbmal2U5z-u{qyM+!Q$ zhSHQ~i1e?Bj{nAId(=mWJb6o5Ly8s4J+C)C)Vjv+dv4QNt8uvDCto@H@NLE!1KB!H*|czHs_Lt#CjOlmF;a5xr5IfxZ|2b8h?-BDspp^& z+K&m224SFu{MVtl1Qs1(KqdvFuFfr`O(I_if6)9U<_y12u2*)BnCCFZnF8ajxzI$v zfq9a{?1`25_h{HT_vJ@S@=`NI6c)tIVO9qrHZ%;n!P#I5+J&?AhD8FO$rgA5d6v)$coWBDliB$u$0G@VVXkd7yx$3swQt+k{HCVdC9)_8S+ScN0onIZzWP@ig>Vz&O949nLKo4N9>->MAtR@*PYiYonsUHd7~|s5`a3yLa||ng(gJl z`HbdX8|(~)U9)3LU}fcKd+wn=73b<~7i+M^A@wVNs z(2%Y~=d2~pI;V+QxVNyGO!yi)AtFVNv8lZh7tA(ldOPZu|6$;s`u=77+y3{xtL8u3%Kr8$)nfZrp6rE zP0L6hA1{9M>&hV7T^TkXq6x7$^$tJDw||9#*|;WzI$C?&!p2} zHiWJ!xvUtXmyQ>JZ`IQQIuu}*6l%8VKK?+4B2XRqv7q`_o%)2GRcO*gV zw>#xi%HQ-}cw!eGN^D(A&*AVV5@b#l&`z)7ykE~pNh_+2s!*o3Ffz#o+#7^luV7z% zAM{{ax5@1B`gx}>ANT%g?d;OzUXF_Pvn5mCIVWB<9ruDk28*?=Tn~~htCiRjo#?J7 zE~THpnBO%9wwW#{?<$4JiG1Q&&D&#&DzMaJV{J=Xi;QoLXlq8)(6q%V9 zns;!(x4D90@|jep{BHo68qtIkenZup3Ni{9#+E4ZJn%wX|1uUf=$;)U+lzFJX_qy~ zlgiBPNY@dLOl(GF4LbR`3m@W8p?@pM`Nfre1DNZR7RxMrJ&OTo4{WHKw&(-MnCPSUT zy7UU1!H@Cah^+Rn285maJfK7k$?r2O%!7&OlcOA<4Ap|unc(PN;Zg`(WhPZ#fQ*S! zkI^vOZv~<~$9-EA+Z?Qtt23T%*k_THa5Cr9Q5F|ldy(eV>KslnV$~rN@7+8f8_;#Kn|1wVg?3mn6ZZD9{8meeWQ9iF( z!QaUwSiAA#u0+qr<=U19%1l!H^g|Dlwm!Yw3)R(+3YXcDX6nVaFm$Bbx{Wnus&iEq z0hEUUf^S&!4r9^fg*?z z(GAqtww!tVQZoEQA9Oi*{IT8-uE|oVu-#t69>3S{VBTViF!{t3kM*%P6EcZOkazQeEN3XEsWFfrx}mNZMSyu3_I$4f6-kR3I*@_ zFwrC{yWmEZEZqfJ?D#_GiJZ{@!{(JIKMMg#NEAKC{MS+<7v|Ui{!%@XhIrerLx3GCrwHDID{XfuRoSlNcr8Dv8H zT2vmpz!Y6DjT8II30XZv3jL|!mY7qUT_j#!aZ-y8r!Ac^hyoJwCvkab6kP177#CHJ zSN;4V%2eJoZZpKra+PiG*!nVAq`%oX5kfY?nCT|}E(FV>x4eik06Se5{+7O`o==k* z64i_i)=WoZ`j)FpggbVzg8{knmJMTVpB#*O`i4^lJt28hdvON7-9Kgmgf2E@tIB2B zy~Fty+XeKRiVA>^Hyh*BSh#y{Ng}^Q$b%vTkX+g-C+YdQ)0B@26j;$E1qvWb&y4dlIVhB2=>LSJlUZB3NsEE3 zHnEP}B26C#U>9WF2B0%7eYNeIlpD_56w40EGchq8Ukp>k^gfy%8%EmF?x(9hapXGV zhGJjvfth{TVz9YgQJ@gz?}}9OikHb8H3dcH8#M3cVamQqnkYt#uO$5Kf#t0=Qoata^60KdtNn5@^;zC|)T+g> z_=LK(=I!Z;Icjo9ERMNSmXzfmB{q{7-pwV%g+C|R|H|Sy$!U>vD`o#eNNwKCr{EBm zSbXo?k(k0zwhztmg0;2%)ZiyoKRC0pB8K;|&(1B;llkYz!TuVm>Rc6j-EcF3Yh#eI z>Wdz`*ksTx_5}{|m^?Sh%B}WzG(odF+$MT1-=lRT`de8iu2i@lDfpfFSl*evNy=#w zQLWKuGT`2LMxKW8kq8u3)`Y5zaj)Nv39!wsfy!y9UOy9DegY(PuCL)>3&F8DAjHq$ zY|OmW62vtHnrFmV!XdWhmGULA*&`B$FIbvyquCcp&(4*ytOI@~d>>Dhi3TM9UWheU`}NhWYh$su&KTa zOsbK92YDn!xTf4Tpzc)JN%0)XhH!gdS+8i#S+BS0{gxu+!ogx4@Q9|Q9AXt} z-iDtJ(;xyuJl01iloZ|akaP{g33RZRo(mu

wmv+s*77{(6GoU!$} z-|0l6@xtjz6?tGlwa1j_DfkkSm- zvG0tcMa57)XYzJ&K>e7~cgWHMkYYIAJ83Hc6?dwx0=EELbM!noy%B|Y0yWQ7GCow` z<7Eu#=WCOV`6#-l?_;g5Y#~V!_74tva2eCTHSfB!VBEpGfM-mU0PqxmxC4h#DXS|r zjukm)>MNc8Emo8ebfs9nn8V|D)H+zg;~UMIY8B0n970Ng(vASOPN!6vSo%aQSyq2W z{7#=ft9gg`r5>&c84%lLlt6=}4|VkBY>M_Fa^J`b?B- zZ4WB@GyZ~*^dO0^5h!2o5XJSnF9myI>G`u`>|Bc19@2<;?2G^)tRVW%to#z2Gpqo9 zhgCc)*PTM|QlgdoNOz0+j_W#gdOp!$L5OJjb{oN-8YJ1w*q%}K-7rWP0^WyQbwk&flzWTJX0i|=FeFqi_k-lUdNxGB+4M7rm`Fme=wUG!(C zwIH>TvxCawi#3qs_!DO8b+0$+Woz!O%ns)oyHD9cjW47j1(ui&o)h`7TqQzjfjPkI z?1~h#^Orv{rDJ+`s@QGxOxEY?LOZ!50GL+4FK2W1o-RCJVF}s73j=Is@L#Q$HSu1B z+=iH@pmybk|M1K72X~OIN%R;=`d_IgAn}kH&$w{OCV|#bKaf{Nf1*8i?-vo0 zx=AC0^XsqZMfm#me0{!4#t!}L6&+k2-ko9FVmsT|U{v#`K=8uhxdLzQRO@1%{E#V3 zUEB-M&7t!?ifU}D3AhWdhVMiCK5P3N$d&vEktMdsk-I;8V%`{keq1Zvau+~1MKJuW z_UFtk{9e9W>^%1PM_~N>nL!)GS>Qf|(98BTk>2H+O2+yy>bl3^+h-d&SuwwmE9JkY z!trUbO-dKB#iY67elLSQWGSb-6Z^A4nk!;cdsSz-OV2mc&=ol2PtS1E|1j&9e=mp1jZVsH$Dsgm;00IeMu@Z6kx%jL-J&(_H&Ad< zTy2djB&IwvJIcHby8TGAA2C)JATeS-n2S&dVN5X!85mMwk9L&Y9fJ=otw8zxH4BE` z%Qde;$!jQv*?!hR$D@mTvKR=X%91#F=DZs3!1WZs^w^2v#1zX1pCzi+<&Qvc`J$4bDZJ_T*0x?FXB>DL??v07 zS;j2HMBT)f#LUea+W%sEMEu$Lp7oYL3W7(B>*VeDZzb2m)n5(RU*Xr^{y|nDAu1~L z*Wm9^=zk<)|A@j=f)Hwt5D$VdsI>H7;Gyx`!5#)sekBE{0F>Xs?&16(6MMMvaDF)c z?MLu`{6P7Qf_?`UF8AKR__3xUc}9 zxVVIvs4!GSLWECHOhiON0BZHmTqPfG#KUAi=wCV8zqD&=a36o)|4Q*+5&uE|ll7yA zJm7ZTe!hPrI|Tm+)_@}5{!afHDLq&zI|aBoI2o!b{ssTVjNj17&&MC`;N%DWyFP~h z#q%$N|48com#5#~x%^sgj(!h({w{^#|K#rfm-c@-5dAL)`fwjde}@MV9*2XS8{7vf zz$YNe2ZM6BA`rfQlKc;g{eZf_?R;I`9Q^ov;4Yk;{{&Kckmw=Ye7u$a7K%ezQV=F6 z2on+%7Z4E?hrxJZLhLXY=YPc%`>&Y)N?OSdVdv@N@{hN_h4TA%Y5upML2xH$+=s&8 z!v3d0MMXq}M4-;le_;YJnD_(NzYXgBZww|OF7i;%|AUE%iT_^=1`~MLk^k3Dejyo=)(8M2?T#LYy8_{#y(~A0GttFY$lv7!7Y{AL!q; b|EHLK2s=39ABF-jA%O?EB&&*^D(?RSaPI9j literal 0 HcmV?d00001 diff --git a/tests/test_plot/test_print_pcb.py b/tests/test_plot/test_print_pcb.py index 9588bfda..3f326c99 100644 --- a/tests/test_plot/test_print_pcb.py +++ b/tests/test_plot/test_print_pcb.py @@ -21,6 +21,7 @@ from utils import context PDF_DIR = 'Layers' PDF_FILE = 'bom-F_Cu+F_SilkS.pdf' PDF_FILE_B = 'PCB_Bot.pdf' +PDF_FILE_C = 'PCB_Bot_def.pdf' def test_print_pcb_simple(test_dir): @@ -32,7 +33,7 @@ def test_print_pcb_simple(test_dir): ctx.clean_up() -def test_print_pcb_refill(test_dir): +def test_print_pcb_refill_1(test_dir): prj = 'zone-refill' ctx = context.TestContext(test_dir, 'print_pcb_refill', prj, 'print_pcb_zone-refill', '') ctx.run() @@ -41,6 +42,18 @@ def test_print_pcb_refill(test_dir): ctx.clean_up() +def test_print_pcb_refill_2(test_dir): + """ Using KiCad 6 colors """ + if context.ki5(): + return + prj = 'zone-refill' + ctx = context.TestContext(test_dir, 'print_pcb_refill', prj, 'print_pcb_zone-refill_def', '') + ctx.run() + ctx.expect_out_file(PDF_FILE_B) + ctx.compare_image(PDF_FILE_B, PDF_FILE_C) + ctx.clean_up() + + def test_print_variant_1(test_dir): prj = 'kibom-variant_3' ctx = context.TestContext(test_dir, 'print_variant_1', prj, 'print_pcb_variant_1', '') diff --git a/tests/yaml_samples/print_pcb_zone-refill_def.kibot.yaml b/tests/yaml_samples/print_pcb_zone-refill_def.kibot.yaml new file mode 100644 index 00000000..3af2a3e2 --- /dev/null +++ b/tests/yaml_samples/print_pcb_zone-refill_def.kibot.yaml @@ -0,0 +1,18 @@ +# Example KiBot config file +kibot: + version: 1 + +preflight: + check_zone_fills: true + +outputs: + - name: 'print_front' + comment: "Print B.Cu (filling zones)" + type: pdf_pcb_print + dir: . + options: + output_name: PCB_Bot.pdf + scaling: 0 + color_theme: _builtin_default + layers: + - layer: B.Cu