I’m working on a board that will be carrying a medium amount of current, and have a few H-bridge drivers generating a small amount of heat (L6205). They sink heat through the PCB, and like to have a dissipative plane on the backside. For the sake of my board, and this project, I’ve manually added a soldermask-removing polygon to the backside, but I was wondering if there was a setting to duplicate to a soldermask layer feature, the geometry of a net or a pour.
As far as I know the effect of removing the solder mask to improve thermal radiation is negligible. The surface area of the copper is much more important.
I know 2 valid reasons for removing the soldermask over traces:
Guard rings.
Tinning whole tracks for better current conductivity.
(Apparently the modern tin is significantly less conductive then the old 60/40, but it still helps)
I’ve just experimented a bit with: Pcbnew / File / Plot / Plot format: DXF and then: Pcbnew / File / Import / Import Graphics and then import it on the F.Mask layer. It does work, but you get the outlines of all the tracks, which is not really what you want. You can increase the line width so the outlines overlap. Is that acceptable for you?
(First import in a free area, then box select what you do not want & remove, then move the rest to it’s final detsination).
This method does not work very well with zones anyway unfortunately.
KiCad has this annoying limitation that you can copy stuff between copper layers, but not from a copper layer to a non-copper layer.
Directly drawing a cutout on B.Mask seems the simplest method unless you want a very complicated polygon for the cutout.
If someone has a direct method, obviously that precludes the following answer. I think this would require copying a net (which is a TRACK) or a pour (which is a ZONE, I think, and also a type of AREA) into a DRAWSEGMENT. These types are not generally substituted, but you could potentially copy the information from a TRACK (endpoints and thickness) and convert to a DRAWSEGMENT on the F.Silk or B.Silk layer. You might also want to grow the shape with the desired extension (how much silkscreen should be removed from beyond the net).
Python would allow you to do this, and perhaps KiCommand, but I don’t know how to do it directly in the GUI.
(Making a copy of the PCB is not really needed if you exit Pcbnew without saving. Having a backup before you do something like this is always a good idea though.)
Another option:
Export to .svg.
Edit .svg.
Use svg2shenzhen.
With these last methods you may have to use the “Standalone mode” of PCBnew to combine the new and the old.
It looks like I have some misconceptions about soldermask and thermal conductivity. Some reading shows that it is indeed mostly negligible for any board that I expect to design.
While I’m not sure if this would be a feature useful enough to warrant development, by someone other than myself, or a very bored dev, it’s good to know that I’m not just missing an option in a menu.
I’m glad you have your specific problem sorted. That said, I am trying to work out how, in fact, to convert from Nets/Zones to DRAWSEGMENT lines and polygons. Whatever I figure out will be implemented in KiCommand, when I am able to figure it out. @qu1ck pointed me to some code that will help. One thing I think I’ve figured out with their help is that a SHAPE_POLY_SET might be assignable (possibly after using Clone()) between a polygon and a zone using Zone.GetFilledPolysList() and Zone.SetFilledPolysList() in parallel to Drawsegment.SetPolyShape() and Drawsegment.GetPolyShape(). Tracks are fairly easy in Python to move between TRACK and DRAWSEGMENT as they only require start/end points and thickness.
Thank you. There are times I use KiCAD for developing purely aesthetic front panels, to be fabbed alongside functional PCBs, and some of these novel ideas could always take purchase in those use cases. It would be interesting to have the option to copy or shadow a feature from any one layer to another.
I’ll take a look at KiCommand and see if it fits my workflow, with or without this addition.
I know OP solved his issue but since this was not mentioned in the thread I’ll add a link to solder mask expander plugin that does exactly what was initially asked.