While this is correct, it does work %100 percent of the time, it may not undo all the damage. On PCB I’ve done this and it happily turns some of the pads in to elipses (in xml editor there is a rx and an ry field that are different by a bit) to fix that you need to copy either rx in to ry or the other way around. If it goes to Fritzing like this pad creation in pcb will screw up in odd ways. Another ugly is a translate in only one of copper1 or copper0. As long as it is in the outside group nothing appears wrong (the inside layer inherits the translate) however in Fritzing pcb you change from top of board to bottom of board it appears to invert the order of copper0/copper1 and the translate only applies to one group (as the other no longer inherits it) and the pads will be offset slightly. Testing your new parts by changing from top of board to bottom of board to make sure this doesn’t happen is a good idea.
Again I tend to do something different. To get a mounting hole, I add a circle to the copper layer in the correct place and at the correct size and set the stroke-length to 0. That produces only a hole, no copper.
I have a different way to do the same thing (but it needs to be done per pad which can be a pain). Resize the pad to the new size you want and take note of the new radius value in xml editor. Undo the change (which will move the pad back to where it should be) and then in xml editor change the radius to the new radius value. This increases or decreases the size of the pad from the center without moving it as a rescale does.
-
Bendable legs: First parts editor breaks bendable legs utterly when you export the part. It replaces the terminal definitions with a group. So you need to either grab a copy of the original svg and use that instead of what parts editor produced or re edit the xml to be a proper bendable leg. Once you have done that Inkscape will happily convert it all to style commands which Fritzing doesn’t support (at least for bendable legs) so you need to manually edit the svg file after Inkscape and change the style commands in to inline xml. I’m working on a python script that will do this (along with removing the px that Inkscape puts on font-sizes that Fritzing doesn’t like) but it isn’t finished yet and I keep finding new ways that it breaks that should be included
.
-
In pcb inheritance of stroke-width for the copper layers doesn’t work (with plain svg it is rarely a propblem, but optimised svg which can cure the style problem does use inheritance and breaks pcb). The problem appears to be that pads are created by a python script that can’t inherit the stroke width to figure out what the hole size should be.
-
Speaking of hole size, on Inkscape this post from @steelgoose will let you set the hole size for a pad:
There is a way to set the drill hole size to 0.035" in Inkscape: First, open the dialog box “Fill and Stroke”, and click the tab “Stroke style”, set the units to Inches and width to 0.020". Now go the the tool bar and set the units to inches and the width and height to 0.075". Shazam!.. The outside diameter of the circle including the stroke-width minus the stroke-width x 2… leaves you the inside of the circle (drill size). CorelDraw is a little different, the toolbar dimensions are the actual dimensions of the circle and the stroke-width is in a separate window…
edit: What is people’s take on Inkscape .92? I’m still using .91 because while trying to fix someone’s part .92 was changing the scaling (presumably because of the change from 90 dots per inch to 93 dots per inch but I’m not sure) and .91 worked correctly. I should probably upgade again and see what happens.
Peter