OK, good thing you didn’t upload just the svg, because the problem isn’t there (there are problems, but not the misalignment!) So lets start with the breadboard svg and fix it up (although it technically will work as is because it is correct!)
It is correctly set to start at 0 0
The pins are in the correct place and at the correct spacing (on 0.1in boundaries)
the terminalIds are as well, but they are offset a bit (and technically are not needed the pins alone will do in breadboard!) They need to be in the center of the circle not at the bottom of it.
You have an icon and copper1 layerId but not the required breadboard layerId here
So to fix this I ungrouped the entire svg like this (selected the top group and then hit cntrl-shift-g multiple times to ungoup.)
and removed the terminalIds as unneeded. Then I regrouped the entire svg and set the group id to breadboard to create a correct breadboard svg.
Then I changed to the .fzp file which is where the problem is. You look to have cloned this from a resistor, which is a bendable leg part. Parts editor should have given you a warning that it does not support bendable leg parts which is why there is a problem here.
<connectors>
<connector name="Pin 0" id="connector0" type="male">
<description>Pin0</description>
<views>
<breadboardView>
<p layer="breadboard" legId="connector0leg" svgId="connector0pin"/>
</breadboardView>
<schematicView>
...
This is connector0’s definition in the .fzp file. The line
<p layer="breadboard" legId="connector0leg" svgId="connector0pin"/>
is for a bendable leg part. For your setup it needs to look like this:
<p layer="breadboard" terminalId="connector0terminal" svgId="connector0pin"/>
for my modified breadboard svg it needs to look like this
<p layer="breadboard" svgId="connector0pin"/>
I expect the legId being missing from the svg file is what is causing the pin offset in breadboard. This fixed .fzpz now works correctly.
This is test-fixed.fzpz (6.8 KB)
so the problem was a Fritzing oddity. FritzingCheckPart.py will also flag this error like this (although perhaps in a not very clear way since, it assumes you know what the xml should look like!):
$ FritzingCheckPartw.py part.ThisIsATest_aa11546556d623bd23ac862976def415_2.fzp
…
Error 69: File
‘svg.breadboard.ThisIsATest_03ddd293a250f61fdc6df934ce4de187_2_breadboard.svg.bak’
At line 22
Found a drawing element before a layerId (or no layerId)
Error 18: File
‘part.ThisIsATest_aa11546556d623bd23ac862976def415_2.fzp.bak’
Connector connector0leg is in the fzp file but not the svg file. (typo?)
svg svg.breadboard.ThisIsATest_03ddd293a250f61fdc6df934ce4de187_2_breadboard.svg.bak
Error 18: File
‘part.ThisIsATest_aa11546556d623bd23ac862976def415_2.fzp.bak’
Connector connector1leg is in the fzp file but not the svg file. (typo?)
svg svg.breadboard.ThisIsATest_03ddd293a250f61fdc6df934ce4de187_2_breadboard.svg.bak
Here (among other things!) it has noted the lack of a breadboard layerId and that there are not legIds in the svg file. It is depending on you knowing what a legId is for and what to do about it though. Here I changed just the fzp file to set the legIds to terminalId and terminal which clears the error:
Warning 20: File
‘svg.pcb.ThisIsATest_03ddd293a250f61fdc6df934ce4de187_2_pcb.svg.bak’
At line 72
copper1 layer should be at the top, not under group copper0
Error 69: File
‘svg.breadboard.ThisIsATest_03ddd293a250f61fdc6df934ce4de187_2_breadboard.svg.bak’
At line 57
Found a drawing element before a layerId (or no layerId)
which now works although it is slightly offset due to the terminalIds being misaligned (Fritzing is aligning to the center of the terminalId in this case, it has connected correctly but the pins are slightly offset.)
Peter