Yah, that was my reaction too . Now on to the faults. Breadboard alignment is fairly easy. The connectors are different sizes connector0pin is w 0.056 h 0.056 connector46 and 47 (and the grove connectors) are w 0.020 h 0.019. This matters to alignment because grid alignment is to the center of the pin, however drawing alignment is to the bottom left corner. I just discovered that in Inkscape if I select the xml editor window and type connector0 it will find and highlight connector0 in the xml editor! In any case back to alignment problems. Connector0pin is
x 2.495 y 1.972 w 0.056 h 0.056 so pin center is x 2.518 (x 2.495 + (w 0.056 / 2) and y center is 1.995 (y 1.972 + (h 0.056 / 2). So far so good, all the rest of the connectors in that row are .1 apart and all is well. Now we hit connector46 and do the same calculation: x 0.200 y 0.290 w .020 h .020 (round up from the real .019 for ease of math) which gives a center position of x 0.210 (same calculation as for pin 0 but different width) and y 0.30. As we see the center of pin 46 is not on a .1 grid compared to pin 0, and thus we have the misalignment in breadboard. My preferred fix is to change all the pin height/widths to the same value but doing so will change there x/y position (as the calculation still starts from the x/y values but the width and height are smaller meaning we need to add some (which can be calculated) value to the x/y coords to keep the pin in the correct place. The correct way to automate this would be to use a python script to do it (unless someone knows an Inkscape way of doing it which i would love to hear!) or in the short term do it manually which is a fair bit of work. If you do it manually do the 2 grove connectors and the power connector as there are less of them than the headers. Next issue is the schematic svg. As a personal preference I like to have schematic (as much as possible) mimic the breadboard view, so I would structure schematic like this:
bat con+ |-------------------| first grove pin 4
bat con- |-------------------| …
_________|-------------------| first grove pin 1
header8pin|----------------| second grove pin 4
… |___________| …
header1pin|| second grove pin 1
header6pin|_|header10pin
…
header1pin ||header1pin
(if this isn’t clear I can create a proper svg the forum is formating this oddly). The other issue is your schematic terminalIds are missing in the fzp file for some of the pins. Connector0 is good:
p terminalId=“connector0terminal” layer=“schematic” svgId=“connector0pin”
connector1 is wrong (no terminal id which makes the line connect to the center of the pin rather than the end in schematic):
p layer=“schematic” svgId=“connector1pin”
and last, it is preferable to export the part as an fzpz file rather than an fzbz file. Here is a png of connector0 (works) and connector1 (no terminalId) to show the issue and how to test for it in a sketch which testing your part:
If you connect the header straight in to the pin on the board it will appear to work even though it is wrong due to the lack of a terminalId.
Edit: Just remembered one more issue: The VCC and GND (and perhaps other) pins need to be bused either via editing the fzp file or setting internal connections in parts editor.
Peter