Well that was instructional! Thanks for the working part, as it told me both what is wrong and what Fritzing cares about. There are two differences between my original and yours: the fpz has no copper0 defined in the pcb layer (where mine did) which is the main problem, and you have an empty copper0 under copper1. This (other than the order of the coppers) it doesn’t seem to care atbout. It puts the part on the first copper defined (which happened to be copper0 and thus wrong in my case as it by default was putting the part on the bottom layer). It is perfectly happy with the usual copper1 with copper0 under it followed by the pads under copper0 as long as copper1 is first (which is how this new part is arranged). This was doubly useful in that it also tells me some more things to check for in the python script that checks parts. I’m not sure yet how I’m going to figure out if this is an smd part (probably by no copper0 definition in the layers) but at least I have something else to check for (not that I don’t have enough problems already ). Here is a corrected part where the pads only appear on the top layer (unless you move the part to the bottom) rather than both layers. I need to check this is the correct part as it seems to be using the old file name even though I changed the fzpz filename …
edit: yep despite the name this appears to be the modified file ok, please use it in place of the first one.
No, it still applies I think, its just Fritzing wants to know that it is an SMD part and should only be on the top (unless you ask for bottom in which case it switches). It doesn’t generate a bottom layer gerber is you only have a SMD part on the board (and thus nothing on the bottom) and it cares that the order in the pcb svg is
copper1
copper0
not
copper0
copper1
which puts the SMD part on the bottom layer by default. I’m thinking for the part checker of using to script names such as checkfritzingpart.py and checkfriztingpartsmd.py because the script by itself doesn’t know whether you wanted a SMD part and just didn’t configure it correctly so you will need to tell it you are making an smd part so it can check the above configuration applies.