ID: | 3734 |
From: | pc...@cuvoodoo.info |
Date: | Sat, 1 Feb 2020 18:07:40 +0100 |
Subject: | Re: [pcb-rnd] reversed missing layer export warning |
in-reply-to: | 3708 from ge...@igor2.repo.hu |
replies: | 3738 from ge...@igor2.repo.hu |
--sdtB3X0nJg68CQEu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Jan 27, 2020 at 03:51:23AM +0100, gedau@igor2.repo.hu wrote: > I agree with this one; are you willing to contribute this as a series of > svn commits? see patch attached > So I'd rather keep warnings to drive users to set up their layer stacks > properly, instead of keeping layer groups empty they don't really want. In > this setup I think I'd have more okempty-group in the default CAM jobs but > I would have okempty-content (or okempty) only in some very special > cases, e.g. when we see specific fabs yelling at us when sending a > through-hole design (with no stencil) without paste gerbers. I agree with your rationale. I added okempty-group to all copper/silk/paste/mask layers in the patch. we did not mention them, but I would also add okempty-group to assy export, and fab. --sdtB3X0nJg68CQEu Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="cam.conf.patch" Index: src_plugins/cam/cam.conf =================================================================== --- src_plugins/cam/cam.conf (revision 29577) +++ src_plugins/cam/cam.conf (working copy) @@ -6,21 +6,21 @@ doc_png { desc export top and bottom copper and silk in 600 DPI pngs plugin png --dpi 600 - write %base%.top.png=top-copper,top-silk - write %base%.bottom.png=bottom-copper,bottom-silk + write %base%.top.png=[okempty-group] top-copper,top-silk + write %base%.bottom.png=[okempty-group] bottom-copper,bottom-silk } {gerber:eagle} { desc gerber export compatible with Eagle's gerber file names plugin gerber --all-layers - write %base%.cmp=top-copper - write %base%.sol=bottom-copper - write %base%.ly%top_offs+1%=intern-copper - write %base%.plc=top-silk - write %base%.pls=bottom-silk - write %base%.stc=top-mask - write %base%.sts=bottom-mask - write %base%.crc=top-paste - write %base%.crs=bottom-paste + write %base%.cmp=[okempty-group] top-copper + write %base%.sol=[okempty-group] bottom-copper + write %base%.ly%top_offs+1%=[okempty-group] intern-copper + write %base%.plc=[okempty-group] top-silk + write %base%.pls=[okempty-group] bottom-silk + write %base%.stc=[okempty-group] top-mask + write %base%.sts=[okempty-group] bottom-mask + write %base%.crc=[okempty-group] top-paste + write %base%.crs=[okempty-group] bottom-paste write %base%.oln=boundary write %base%.ast=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.asb=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -32,15 +32,15 @@ {gerber:fixed_topbottom} { desc gerber export almost compatible with old 'fixed' naming style, with special casing top and bottom copper plugin gerber --all-layers - write %base%.top.gbr=top-copper - write %base%.bottom.gbr=bottom-copper - write %base%.group%top_offs%=intern-copper - write %base%.topsilk.gbr=top-silk - write %base%.bottomsilk.gbr=bottom-silk - write %base%.topmask.gbr=top-mask - write %base%.bottommask.gbr=bottom-mask - write %base%.toppaste.gbr=top-paste - write %base%.bottompaste.gbr=bottom-paste + write %base%.top.gbr=[okempty-group] top-copper + write %base%.bottom.gbr=[okempty-group] bottom-copper + write %base%.group%top_offs%=[okempty-group] intern-copper + write %base%.topsilk.gbr=[okempty-group] top-silk + write %base%.bottomsilk.gbr=[okempty-group] bottom-silk + write %base%.topmask.gbr=[okempty-group] top-mask + write %base%.bottommask.gbr=[okempty-group] bottom-mask + write %base%.toppaste.gbr=[okempty-group] top-paste + write %base%.bottompaste.gbr=[okempty-group] bottom-paste write %base%.outline.gbr=boundary write %base%.topassy.gbr=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.bottomassy.gbr=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -52,15 +52,15 @@ {gerber:fixed} { desc gerber export almost compatible with old 'fixed' - top and bottom copper are not special cased but numbered from group0 (top) plugin gerber --all-layers - write %base%.group%top_offs%.gbr=top-copper - write %base%.group%top_offs%.gbr=bottom-copper - write %base%.group%top_offs%.gbr=intern-copper - write %base%.topsilk.gbr=top-silk - write %base%.bottomsilk.gbr=bottom-silk - write %base%.topmask.gbr=top-mask - write %base%.bottommask.gbr=bottom-mask - write %base%.toppaste.gbr=top-paste - write %base%.bottompaste.gbr=bottom-paste + write %base%.group%top_offs%.gbr=[okempty-group] top-copper + write %base%.group%top_offs%.gbr=[okempty-group] bottom-copper + write %base%.group%top_offs%.gbr=[okempty-group] intern-copper + write %base%.topsilk.gbr=[okempty-group] top-silk + write %base%.bottomsilk.gbr=[okempty-group] bottom-silk + write %base%.topmask.gbr=[okempty-group] top-mask + write %base%.bottommask.gbr=[okempty-group] bottom-mask + write %base%.toppaste.gbr=[okempty-group] top-paste + write %base%.bottompaste.gbr=[okempty-group] bottom-paste write %base%.outline.gbr=boundary write %base%.topassy.gbr=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.bottomassy.gbr=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -72,15 +72,15 @@ {gerber:universal} { desc gerber export compatible with old 'univeral' include group name and suffix with eagle-like extensions plugin gerber --all-layers - write %base%.%name%.gtl=top-copper - write %base%.%name%.gbl=bottom-copper - write %base%.%name%.g%top_offs%=intern-copper - write %base%.%name%.gto=top-silk - write %base%.%name%.gbo=bottom-silk - write %base%.%name%.gts=top-mask - write %base%.%name%.gbs=bottom-mask - write %base%.%name%.gtp=top-paste - write %base%.%name%.gbp=bottom-paste + write %base%.%name%.gtl=[okempty-group] top-copper + write %base%.%name%.gbl=[okempty-group] bottom-copper + write %base%.%name%.g%top_offs%=[okempty-group] intern-copper + write %base%.%name%.gto=[okempty-group] top-silk + write %base%.%name%.gbo=[okempty-group] bottom-silk + write %base%.%name%.gts=[okempty-group] top-mask + write %base%.%name%.gbs=[okempty-group] bottom-mask + write %base%.%name%.gtp=[okempty-group] top-paste + write %base%.%name%.gbp=[okempty-group] bottom-paste write %base%.%name%.gko=boundary write %base%.fab=virtual(purpose=fab),top-doc(purpose=fab) plugin excellon @@ -90,15 +90,15 @@ {gerber:OSH_Park} { desc gerber export compatible with OSH Park's recommendations plugin gerber --all-layers - write %base%.gtl=top-copper - write %base%.gbl=bottom-copper - write %base%.g%top_offs+1%l=intern-copper - write %base%.gto=top-silk - write %base%.gbo=bottom-silk - write %base%.gts=top-mask - write %base%.gbs=bottom-mask - write %base%.gtp=top-paste - write %base%.gbp=bottom-paste + write %base%.gtl=[okempty-group] top-copper + write %base%.gbl=[okempty-group] bottom-copper + write %base%.g%top_offs+1%l=[okempty-group] intern-copper + write %base%.gto=[okempty-group] top-silk + write %base%.gbo=[okempty-group] bottom-silk + write %base%.gts=[okempty-group] top-mask + write %base%.gbs=[okempty-group] bottom-mask + write %base%.gtp=[okempty-group] top-paste + write %base%.gbp=[okempty-group] bottom-paste write %base%.gko=boundary write %base%.ast=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.asb=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -109,15 +109,15 @@ {gerber:Seeed} { desc gerber export compatible with Seeed Studio's recommendations plugin gerber - write %base%.GTL=top-copper - write %base%.GBL=bottom-copper - write %base%.GL%top_offs+1%=intern-copper - write %base%.GTO=top-silk - write %base%.GBO=bottom-silk - write %base%.GTS=top-mask - write %base%.GBS=bottom-mask - write %base%.GTP=top-paste - write %base%.GBP=bottom-paste + write %base%.GTL=[okempty-group] top-copper + write %base%.GBL=[okempty-group] bottom-copper + write %base%.GL%top_offs+1%=[okempty-group] intern-copper + write %base%.GTO=[okempty-group] top-silk + write %base%.GBO=[okempty-group] bottom-silk + write %base%.GTS=[okempty-group] top-mask + write %base%.GBS=[okempty-group] bottom-mask + write %base%.GTP=[okempty-group] top-paste + write %base%.GBP=[okempty-group] bottom-paste write %base%.GML=boundary write %base%.AST=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.ASB=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -129,15 +129,15 @@ {gerber:JLC_PCB} { desc gerber export for JLC PCB's filename convention plugin gerber - write %base%.gtl=top-copper - write %base%.gbl=bottom-copper - write %base%.g%top_offs+1%l=intern-copper - write %base%.gto=top-silk - write %base%.gbo=bottom-silk - write %base%.gts=top-mask - write %base%.gbs=bottom-mask - write %base%.gtp=top-paste - write %base%.gbp=bottom-paste + write %base%.gtl=[okempty-group] top-copper + write %base%.gbl=[okempty-group] bottom-copper + write %base%.g%top_offs+1%l=[okempty-group] intern-copper + write %base%.gto=[okempty-group] top-silk + write %base%.gbo=[okempty-group] bottom-silk + write %base%.gts=[okempty-group] top-mask + write %base%.gbs=[okempty-group] bottom-mask + write %base%.gtp=[okempty-group] top-paste + write %base%.gbp=[okempty-group] bottom-paste write %base%.gko=boundary write %base%.ast=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.asb=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -150,15 +150,15 @@ {gerber:protel} { desc gerber export for a filename convention similar to protel's plugin gerber - write %base%.gtl=top-copper - write %base%.gbl=bottom-copper - write %base%.g%top_offs+1%l=intern-copper - write %base%.gto=top-silk - write %base%.gbo=bottom-silk - write %base%.gts=top-mask - write %base%.gbs=bottom-mask - write %base%.gtp=top-paste - write %base%.gbp=bottom-paste + write %base%.gtl=[okempty-group] top-copper + write %base%.gbl=[okempty-group] bottom-copper + write %base%.g%top_offs+1%l=[okempty-group] intern-copper + write %base%.gto=[okempty-group] top-silk + write %base%.gbo=[okempty-group] bottom-silk + write %base%.gts=[okempty-group] top-mask + write %base%.gbs=[okempty-group] bottom-mask + write %base%.gtp=[okempty-group] top-paste + write %base%.gbp=[okempty-group] bottom-paste write %base%.gko=boundary write %base%.ast=top-virtual(purpose=assy),top-doc(purpose=assy) write %base%.asb=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) @@ -170,15 +170,15 @@ {gerber:PCBWay} { desc gerber export for PCBWay's filename convention plugin gerber - write %base%-copper_top_l1.gbr=top-copper - write %base%-copper_bottom_l%top_offs+1%.gbr=bottom-copper - write %base%-copper_innter_l%top_offs+1%.gbr=intern-copper - write %base%-silkscreen_top.gbr=top-silk - write %base%-silkscreen_bottom.gbr=bottom-silk - write %base%-soldermask_top.gbr=top-mask - write %base%-soldermask_bottom.gbr=bottom-mask - write %base%-solderpaste_top.gbr=top-paste - write %base%-solderpaste_bottom.gbr=bottom-paste + write %base%-copper_top_l1.gbr=[okempty-group] top-copper + write %base%-copper_bottom_l%top_offs+1%.gbr=[okempty-group] bottom-copper + write %base%-copper_innter_l%top_offs+1%.gbr=[okempty-group] intern-copper + write %base%-silkscreen_top.gbr=[okempty-group] top-silk + write %base%-silkscreen_bottom.gbr=[okempty-group] bottom-silk + write %base%-soldermask_top.gbr=[okempty-group] top-mask + write %base%-soldermask_bottom.gbr=[okempty-group] bottom-mask + write %base%-solderpaste_top.gbr=[okempty-group] top-paste + write %base%-solderpaste_bottom.gbr=[okempty-group] bottom-paste write %base%-profile.gbr=boundary plugin excellon write %base%-drills.xln=[okempty] virtual(purpose=pdrill),virtual(purpose=udrill) @@ -187,17 +187,17 @@ {gerber:Elecrow} { desc gerber export for Elecrow's filename convention including unplated holes (Untested) plugin gerber - write %base%.GTL=top-copper - write %base%.GTS=top-mask - write %base%.GTO=top-silk - write %base%.GTP=top-paste - write %base%.GBL=bottom-copper - write %base%.GBS=bottom-mask - write %base%.GBO=bottom-silk - write %base%.GBP=bottom-paste + write %base%.GTL=[okempty-group] top-copper + write %base%.GTS=[okempty-group] top-mask + write %base%.GTO=[okempty-group] top-silk + write %base%.GTP=[okempty-group] top-paste + write %base%.GBL=[okempty-group] bottom-copper + write %base%.GBS=[okempty-group] bottom-mask + write %base%.GBO=[okempty-group] bottom-silk + write %base%.GBP=[okempty-group] bottom-paste write %base%.GML=boundary write %base%.FAB=virtual(purpose=fab),top-doc(purpose=fab) - write %base%.GL%top_offs+1%=intern-copper + write %base%.GL%top_offs+1%=[okempty-group] intern-copper plugin excellon write %base%.TXT=[okempty] virtual(purpose=pdrill) write %base%-NPTH.txt=[okempty] virtual(purpose=udrill) @@ -206,15 +206,15 @@ {gerber:orcad} { desc gerber export compatible with Orcad's gerber file names plugin gerber --all-layers - write %base%.top=top-copper - write %base%.bot=bottom-copper -# write %base%.ly%top_offs+1%=intern-copper - write %base%.sst=top-silk - write %base%.ssb=bottom-silk - write %base%.smt=top-mask - write %base%.smb=bottom-mask -# write %base%.spt=top-paste -# write %base%.spb=bottom-paste + write %base%.top=[okempty-group] top-copper + write %base%.bot=[okempty-group] bottom-copper +# write %base%.ly%top_offs+1%=[okempty-group] intern-copper + write %base%.sst=[okempty-group] top-silk + write %base%.ssb=[okempty-group] bottom-silk + write %base%.smt=[okempty-group] top-mask + write %base%.smb=[okempty-group] bottom-mask +# write %base%.spt=[okempty-group] top-paste +# write %base%.spb=[okempty-group] bottom-paste write %base%.fab=boundary # write %base%.ast=top-virtual(purpose=assy),top-doc(purpose=assy) # write %base%.asb=bottom-virtual(purpose=assy),bottom-doc(purpose=assy) --sdtB3X0nJg68CQEu--
Reply subtree:
3734 Re: [pcb-rnd] reversed missing layer export warning from pc...@cuvoodoo.info
3738 Re: [pcb-rnd] reversed missing layer export warning from ge...@igor2.repo.hu