Custom Solder Mask Keep-out Shape?

Hello, Can anyone tell me the steps of how to create a custom “Solder Mask Keep-out” aka solder mask blocker?

Are the steps similar to making custom PCB shapes but just removing certain layers?

Thank you!

Are you looking for an exposed copper image? Or are you looking to expose a portion of a circuit in a specified shape? Or something else?

I’m looking to expose a portion of the circuit. I need to make one solder keep-out shape that has a few different shaped cutouts.

Basically, I would love to take the PDF of the circuit and cutout certain parts of that image for a Solder Mask Keep-out and leave certain parts of that image as the solder mask.

I actually came across this thread Custom shapes for the solder mask blocker only a few days ago from more than a year ago where someone else asked the same question. In it some one provides an example of how to do just what you are asking. I downloaded the example and it looks like you make a part just like you would for any other part except you do not use a fill or stroke on the svg element defining the copper. This means it does not get rendered or used during copper export but it does get used when the solder mask is calculated. It will also crop any and all silkscreens from the same area.

Now with all that said making your own parts can be frustrating and takes awhile to get comfortable with. This is not helped in that you can make parts in multiple ways and the instructions around can seem conflicting. If you do not have experience and you would like to learn just let us know and also let us know if you would like to learn by manipulating XML data or by using a the GUI.

Yea I was involved in that thread but the person helping me didn’t seem to want to let me know how to do it on my own. I would love to learn by manipulating the XML.

Is there actually a way to just use the PDF of the copper traces created by Fritzing and reverse that “black copper” in the PDF as a solder mask keep-out? That may be the easiest way for me as I don’t really need to change anything that badly. I hope that makes sense.

On second thought, I am a complete XML novice so the GUI may be a better way for me.

Unfortunately there is no simple way of doing this.

You could export the sketch as SVGs and then open the copper layer/s in an SVG editor (Inkscape etc).
Then you would merge all the little pieces into a solid.
After that you would have to clean up the outline using something like Inkscapes Path/Simplify.
Once you had a nice clean outline of your traces you would crop that image (using an intersection with a square or whatever shape you wanted).
Once you had it exactly as you wanted it you resize your page to match the image.
Now ungroup until you know the image is no longer in a group.
Now put the image in a group and change the group id to copper1.
Then you would turn off all fill and stroke from the image leaving you with an invisible image.
Save that image as a plain SVG.
Open the example from the other thread with the Fritzing parts editor.
Save as new part.
Go to pcb view and change the image with the one you just created.
Change the meta data so you know what the part is since it is invisible.
Save the part.
Use the part to expose the copper.
You could also add a copy of the SVG with white fill to the silkscreen layer by putting it in a group in the SVG with the id silkscreen. This would let you see where you are placing it but would be cropped on export.

There are a few videos around on making parts as well as lots of tutorials on SVG editing.

If you are using Inkscape I have a list of tips and tricks Inkscape Tips and Tricks

Is the trick to just use “path” with zero stroke in copper.

Yes zero stroke and zero fill. The path does not require any special naming like pads or pins. Just an invisible shape in the copper group.

That wasn’t too bad.

It doesn’t need to be a path, I kept it rect.
Square Image.fzpz (2.9 KB)

Sorry I was totally missing what you meant by “path”. Glad to hear it works with the predefined shapes like rectangle and circle. I wonder if it works with star based shapes? I know they break things when used as board outlines.

Please! I know it’s been a while, but could you share how you did this?
Could you perhaps share the SVG so I could investigate in illustrator?

Most of the information is available in the previous posts on how this is done. As for the SVG you can import the part from above and then in the editor export the PCB SVG. You could also take the above part and rename it to .zip and then unzip it and you will find all the SVGs that way. The last thing I would like to add is that Illustrator can cause scaling issues that are very hard to correct at times. I would recommend either using Inkscape or just editing the SVG you get from the part above and not making your own unless you know exactly how to get the DPI to be correct for Fritzing to get the scale correct.

That is fairly easy, just make sure the drawing size height and width in the first element of the xml is not in px, Either in or mm (your choice) sets the scale correctly, Fritzing only guesses when the height and width are in px (sometimes wrong!). I use Inkscape but I assume illustrator will let you set this as well.