SVG editor for Fritzing parts

Hello community!

I would like to ask if and what experience exists with SVG editors (drawing tools) other than Inkscape for creating Fritzing parts. Are there any others in use that are good for this specific task?

The background for this question is that I started with Inkscape (1.0) when creating my first part and … it was horrible. Which is a pity, because I know Inkscape from years ago, and I had already used it on a Mac and really liked it. Fantastic tool. But running the newest version on my Mac was a shock: it is reaaaallly slow and laggy. To the point of unbearable.
Had I not found the tip on the interwebs to configure Inkscape to start in low resolution, I would have probably given up. Now it is okay to work with.

That is why I decided to push through and not spend time on trying out other options, e.g. Affinity Designer. But I do wonder if other people have found other SVG programs that work well for the specific task of creating SVGs for Fritzing parts. The one thing I think is very valuable in Inkscape for this, is the XML editor. Something not present in Designer, which is why I did not go and try it out.

I know that people are using Illustrator, so that seems to be one way to go. (But to be honest, the price has become a bit steep for creating a Fritzing part now and then).

Anything else?

Any editor that can save to SVG should work. Including the online editors. Fritzing works with the ‘tiny’ variant, so need to be aware of that. There are various quirks in the interpretation and implementation of some features of the SVG format by both Fritzing and different editors, so experimentation is really the only way to figure out what works. As long as you stick with the simpler features and operations, it should generally be good.

I was looking for a INK sub yesterday, because INK does things that throw FZ out - your KY-040 SCH is off grid because INK added a transform -. But since everything has been done in INK for the last 5 years, it’s kind-of too late to change, ie, all the help info is INK. I think FZ was designed for Illustrator - I bet it doesn’t need the work-arounds of INK -, but it’s not free anymore so people switched to the next free thing. If you ask me INK is too powerful and complex a part maker for an EDA, ie, I was in Eagle yesterday it looked like it had a built-in simplified svg editor to make parts. I remember x-fig from 20 years ago, and it was simple back then, but it’s only for Linux.
I’m doing a faster more simplified part making video tutorial series, but because there was never any comprehensive instructions, and new info constantly surfaces, I kind-of know nothing even with 5 years experience.

I have watched all your tutorial videos. So one thing I learned was, to resize the page to drawing at the end. And that was what made Inkscape add the translate transform. I guess the correct way would have been to ungroup, then resize the page and then group again. But yesterday I was still a bit scared of getting the groups wrong.

I just redid the schematic view SVG for the KY-040 from scratch. Not based on anything. After the initial rectangle, some pins and some text, I ended up really doing most of the drawing in the XML editor. (Actually I started because I wanted a “line” and couldn’t figure out how to get one in Inkscape.)

By now I think the XML editor is an invaluable feature of Inkscape when creating Fritzing parts, if one does know XML. What I also learned from your grid wizardry in your videos was to think in numbers. And it turns out to be much easier to place XML nodes at the right position in the XML editor, and get clean XML at the same time, than doing it all by drawing. At least for the schematic view, which is just lines and rectangles and text.

I still used the Parts Editor to replace the SVG, as I was wary of getting the whole “gorn” attribute thing wrong. But even that turns out to be quite easy and logical.
(At least I got to watch the Parts Editor do some more unexpected magic.)

So by now I think for the schematic view it is actually feasible to write the SVG by hand, as one somewhat agitated guy in the forum did. Inkscape still proves useful to get the exact placement of the text right. I could do that only by fiddling with the numbers and watching where it ends up.

As for the other views, I would still like to give Affity Designer a test ride. But the fact that it does not have an XML editor (and does not plan to have one) is more and more a deficiency, I think.

One thing I am not of yet: is it “DroidSans” or “Droid Sans” or “‘Droid Sans’”?

Ungrouping before the “resize to selection” didn’t work for me because the RtS moves the drawing which causes INK to translate.
To get rid of the translate you need to hit the X(delete button) of that translate in INK(1.0) XML editor for the parent of the SCH group, 0,0 the drawing, then select the SCH group and ungroup and group again. I’m doing that vid now

The Droid San is too much to fix so ignore it and let FZ Edit correct in when you bring the svg into the part. Even the official DS faults after INK gets to it.

Go for the newer vids at the bottom of this series - I’ve only done BB so far -

What I have done (occasionally), is resize, then ungroup (multiple times), then group.

Ah, neat idea.

Answering myself, it appears to be DroidSans that is needed in the SVG.

INK puts quote marks on the word Droid Sans in the XML code, and that makes FZ put up an error message where it’s converting that text to it’s text, effectively wasting your time using DS, even the official DS. You might as well use Arial :slightly_smiling_face: and let FZ convert in internally. OCRA font is ok, but again you have to mod the CODE and remove the first instance of “px” or all text ends up tiny. This was covered in the above vid.

So that is where the problem shows up. I have seen messages about it, but never before enough details to narrow down the cause. When I need to use INK, I normally save as optimized SVG, with the flag set (among others) to convert CSS attributes to XML attributes. That replaces the concatenated string of values from the “style” attribute with multiple separate attributes, and the result includes a valid “font-family” attribute. The included quotes are valid (required) there. Actually they are valid (optional) in the style attribute too, but Fritzing does not handle that properly. As mentioned, that still needs to have the “px” removed from the font-size to keep Fritzing happy.

1.0 is newish and last I tried it (one of the beta versions) had bugs. I use 0.94 successfully so you might try downgrading to that. As noted by others any svg editor should work, Coral Draw is the choice of the person that taught me to make parts, but I have stayed on Inkscape because it is the most common here (and I’m used to its quirks.) This tutorial series may help, it doesn’t use parts editor (because parts editor isn’t completed) and assumes you understand xml though:


Damn, If you draw a rect in INK snapping to the grid and 0,0 coord it, then “resize to selection”, INK doesn’t translate. But if the rect is in a group and you 0,0 it, it does translate. You were kind-of right about ungrouping first.

EDIT - Weird because it didn’t work a few days ago.

That is one of the problems. This is already fixed in Fritzing but apparently didn’t make it into 0.9.4.

The other problem is that Inkscape puts the font family name (Droid Sans) into the SVG, but for some reason Fritzing thinks that it needs to be the font file name (DroidSans). I didn’t really 100% understand the code behind this, but a test with the Parts Editor shows that converting all font family entries to DroidSans will give no errors when importing a SVG.

What Fritzing needs to do is do this conversion by itself, by mapping the font family name to the file name for Droid Sans. Or check if that assumption, that it needs to be the font file name, is still true.