New Part THT & SMD problem

Hello,
I was checking my old parts, then I noticed this problem…

I created a USB socket part, that has “SMD” pads & “THT” pins for terminals…
Now, those pins are acting differently…!!!

THT should accept the trace top & bottom, & SMD only the part side.
But, both are acting like SMD, also, changing part layer, make the part useless…

This type of part is rare… I found only one… (can’t be exported)
2020-02-10

First, I thought, It only works with core part… But I manage to find those original file & save as new part…
And it is working…
111.fzpz (7.9 KB)

I follow everything with this file… But my part is not working, even terminals got messed up…

My part as posted before: 46. USB-A Male SMD.fzpz (9.8 KB)
My part messed up after follow the core part: USB-A Male SMD [edit].fzpz (7.8 KB)

So, if anyone can check this out, and find the problem, that’ll be very helpful…
cause, I have two other parts to edit/repair this way…


Thanks…

You are missing the copper0 layer everywhere and thus won’t get through hole anywhere. The slots in the pads will also not render (Fritzing can’t do tabs, nor generally can the board houses.) This tutorial explains how to get mixed through hole and SMD parts (although it is painful assuming you are using Inkscape):

Peter

I read the topic… Yes, the different copper0 & copper1 is now old. I tried that too.
But, it’s not mandatory to keep the “same pin svg” with “same name” for THT.

Because, I create/edit part via part file (.fzp), and there, the svgId can be edited to different names for copper1 & copper0.

Anyway, if my part has issue, then how this part is working…

??!! :thinking: :thinking:

Because unlike your part, it has copper0 defined in the fzp:

<pcbView>
  <layers image="pcb/xxx_pcb.svg">
    <layer layerId="copper1"/>
    <layer layerId="silkscreen"/>
    <layer layerId="copper0"/>
  </layers>
</pcbView>

and for the smd pads only defines copper1 in the connetor but for the through hole portion defines both copper1 and copper0, which also works (as long as you don’t need different connections on different sides of the board in the same place.)

Peter

Yes, the old file does not have the “copper0”…
But, edited file has… still doesn’t working…

Anyway, I found the problem… The old pcb svg file was still in bin folder…
Now, it is working… Also with bus…

I make the pcb terminals with blank shape…
It may show error if you check… But I think it’ll work in production…

46. USB-A Male SMD [OK].fzpz (8.3 KB)

It looks by and large fine, there are a couple of problems though:

schematic the two shield pins are incorrectly placed, the pins should be outside the box and the terminalIds should be on the other end of the pin:

In all the svgs the Units should be in inches (in) not px. Px causes Fritzing to guess at the original resolution which it may or may not have gotten right this time. The result is that the scale may be incorrect making the pads the wrong size:

Changing to inches (or mm) sets an absolute scale with no (possibly incorrect) guessing involved.

Peter

Oops… Thanks, I forgot to edit the schem…

Actually, I edit in AI, with mm unit.
And, yes, while editing core svg, AI detects the values as “mm”, and I have to converted them to mil-inch manually…!!

Unfortunately it appears to have ended up storing the xml in px in pcb and schematic (breadboard and icon svgs look correct):

     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="21.775px"
     height="41.678px" viewBox="0 0 21.775 41.678" enable-background="new 0 0 21.775 41.678" xml:space="preserve">

x=“0px” y=“0px” width="21.775px height=“41.678px”

are a problem in svg.pcb.AG-USBA_7b58b9737e8d0a66302fd57638ef439e_2_pcb.svg

same in schematic

x=“0px”
y=“0px”
width=“22.477px”
height=“29.701px”
viewBox=“0 0 22.477 29.701”

are a problem in svg.schematic.AG-USBA_7b58b9737e8d0a66302fd57638ef439e_2_schematic.svg

Peter

Yes, AI saves the xml like that, what unit I currently using or something… But never had a problem with that…

Anyway I missed the main problem with SMD…
They all working smoothly if I use the parts on TOP layer of the PCB.
But, whenever I move it on the bottom layer, the SMD pads still connecting with TOP layer trace…!!!

Not only my parts, even the core parts…
Here, a screenshot with same part (sparkfun usb connector) on different layer connected with TOP traces…
Maybe it’s a creation Failure…!!!

Also, obviously problem on THT+SMD part…


If a good part, like SMD IC, can work perfectly with only copper1 layer, It should be work as well as on combine parts (THT+SMD)…

I think, there must be a missing rule in the software, that it cannot change layer when “copper1” & “copper0” both are active…

Or, I’ve to test, as you previously said to keep the copper group separate instead of making them parent/child…

Before I got distracted in to the display obsolete part issue that I just fixed, I had though of this and was about to try your part on the bottom of a board. You likely need completely separate copper1 and copper0 groups (not copper1 as a subgroup of copper0 which I think is the current configuration.) The SMD pads need to be only in copper1 and the through hole pads need to be in both. Then I think swap top to bottom may work correctly because copper1 will be as Fritzing expects it. Luckily for me you found the problem first :slight_smile: so I don’t have to poke at it.

Peter