I’d like to write text in solder mask by using the F.Mask layer. However, there seems to be no way to make this a negative. In other words, I can easily add text to the F.Mask layer, but that leaves solder mask as the background and makes the text now uncovered copper, but what I want to do is the opposite: I’d like to leave the background as uncovered copper and make the text solder mask.
See the attached image from the KiCad 3D viewer. Yellow is bare copper and green is solder mask. I’d like the negative of this. Any way to do it?
First do an F.Mask zone around where my text will be in order to remove all solder mask there
Then add some text to a user layer (or even to F.SilkS).
Then produce the gerbers and use your script to do F.Mask layer - F.SilkS layer or whatever. This will now cut out the F.Mask from where I want to leave behind the solder mask, and voila! I can send it to the fab shop and the solder mask should be left on those areas as text/lines/drawings/whatever I’ve put there.
…and click the little pen icon near the top, where it says “This bug affects __ people”. Then, say this bug affects you too! Comment if you wish as well, but let’s get this feature request some traction as I’d really like to be able to do this right in KiCad.
Yes, but I’d be cautious about F.Silk, as that can get a lot of information, plus it commonly also ‘wipes’ the pads clear of accidental Silk-on-pad.
So you need to remember to disable that, and restrict what is on Silk to a manageable amount.
Do you really want to have no Silk info (usually plotted white, at no charge, because everyone does that…)
You may actually want to merge 3 files here ?
First, 1) the Solder Mask layer, then 2) a LPD Text layer, for over bare PCB cases (where negative text is ok) and finally a 3) subtract/negative layer, LPC, that cuts into block areas carefully placed in file 1.
You could also cut text into copper, to spread how you pass the information, using only Cu and Mask layers.
@bobc - Can your nifty script manage multiple files Dark / Clear ?
Sounds great. I had not expected to need multiple files, but can see here it could be useful.
I guess your script just prefixes LPC, and removes first LPD ?
I suppose another choice would be to toggle LPD/LPC when they are found but that starts to make the head hurt with all the combinations !
There may be a use for LPD Silk with LPC pads (std KiCad output), to be selectively flipped to become LPD Silk + LPD Pads - ie that gives a solder mask with negative silk text, when finally flipped at the FAB.
Perhaps a -f option for flip(clear) ?
rem front copper with negative text
%GC% test1-F.cu.gtl -s test1-Eco1.User.gbr -o test1-F.cu.new.gtl
rem front mask with text cutout
rem %GC% test1-F.Mask.gts -s test1-Eco2.User.gbr -o test1-F.Mask.new.gts
%GC% test1-F.Mask.gts -s test1-Eco2.User.gbr test1-F.silks.gto -o test1-F.Mask.new.gts
In fact here I used the whole silk layer to create the solder mask layer. It’s hard to tell from the above image, but there is solder mask under all of the silkscreen text and graphics.
There seems to be sufficient flexibility to achieve most things.
I would recommend creating a test article and ordering a low cost sample before committing to a final design!
I tried your script. I did F.Mask -s F.SilkS. It works! I already sent off my board to the fab house with just silkscreen on bare copper though, before getting your script to work. If they don’t print the silkscreen on bare copper I’ll definitely redo it, using your tool to put solder mask underneath the silkscreen.