PAD Connector types are seen on both top and bottom layers

I create a part by modifying an existing one and change the connectors from holes to pads. So far, so good. But the PAD Connector types are seen on both top and bottom layers, whereas I need them to appear on the top layer only where I place the part. When uploading to manufacturer, I see in the part preview that the bottom layer is also showing the pads.

I wish to place the component to the top layer, with the connector pads showing on the top layer only.

I add

223p Dual Gang Variable plates v2

223p Dual Gang Variable plates v2.fzpz (63.0 KB)

You need to remove copper0 to make the part SMD to avoid the pad on the bottom layer like this in the pcb svg:

to this

Then you need to edit the fzp file with a text editor and remove the following fields

from

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

to

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

and from

  <connector id="connector0" type="pad" name="A">
   <description>0</description>
   <views>
    <breadboardView>
     <p svgId="connector0pin" layer="breadboard"/>
    </breadboardView>
    <schematicView>
     <p svgId="connector0pin" terminalId="connector0terminal" layer="schematic"/>
    </schematicView>
    <pcbView>
     <p svgId="connector0pin" layer="copper0"/>
     <p svgId="connector0pin" layer="copper1"/>
    </pcbView>
   </views>
  </connector>

to

  <connector id="connector0" type="pad" name="A">
   <description>0</description>
   <views>
    <breadboardView>
     <p svgId="connector0pin" layer="breadboard"/>
    </breadboardView>
    <schematicView>
     <p svgId="connector0pin" terminalId="connector0terminal" layer="schematic"/>
    </schematicView>
    <pcbView>
     <p svgId="connector0pin" layer="copper1"/>
    </pcbView>
   </views>
  </connector>

for each of the three connectors. That will convert the part from through hole to SMD and delete the pads on the bottom of the board.

Peter

2 Likes

That worked. The pads are now on top only. Can I mix both “through holes” and “pads on top only” in one.svg?

223p Dual Gang Variable plates v4

The holes for the variable capacitor’s shaft and screws are drawn like on a silkscreen, but not drilled through the PCB.

You can (using an older but still supported for backwards comparability pcb layout) , but it is complex to do and usually not worth it. The normal case is only one of SMD or through hole.

That is likely intentional. It is possible to drill the holes (by using nonconn definitions in the copper layers) but normally only done on silkscreen (where you can drag a core parts–>pcb→hole part in to your sketch if you want the mounting holes to drill them) to avoid having to modify the part if you don’t want the mounting holes.

Peter

So I made 2 parts. One for the through Holes for the shaft and the screws, and one for the 3 Pads on the Top layer only. I just place both one on top of the other, perfectly aligned. The sum of both is the part I wanted.

3-Pin Dual Gang Variable Capacitor Holes.fzpz (50.3 KB)

3-Pin Dual Gang Variable Capacitor PADs.fzpz (50.2 KB)

As noted in the first post, that is easy. Just use nonconn to make the holes (which works on SMD parts) like this:

First I ungrouped the svg (in Inkscape in this case) then renamed the holes to nonconn0 to nonconn2, and set the stroke-width to 0 (so as to not create a copper ring) note that will have reduced the size of the hole diameter by the stroke-width so you will need to check the size of the holes as they will be too small in this part.

then recreate the necessary groups (silkscreen and copper1.) The nonconns need to move from silkscreen to copper1 to be drilled.

The stroke-widths need to be set to 0 (which as noted reduces the size of the hole so you need to correct that!)

Doing that and rebuilding the part produces this gerber output (here displayed in gerbv)

The holes in orange are on the drill layer and will be drilled.Here copper1 layer is suppressed leaving only silkscreen and drill.

This is contained in this part (which as noted has holes that are likely too small):

3-Pin Dual Gang Variable Capacitor PADs-with-holes.fzpz (48.6 KB)

Note that I did not change the moduleId, so in order to load this part you will need to delete the current PADs part, then shutdown Fritzing answering yes to save parts and save parts bin (no to save sketch is fine.) Then restart Fritzing (which has now really deleted the part, you may already be aware of this or may not.) Then it will let you load the new part.

Peter

1 Like

I see what happened, above I asked “Can I mix both “through holes” and “pads on top only” in one.svg?”
Which means mix both “Through-hole components” and “Pads (i.e. on the Top) only”.
Whereas I should have asked for the Core Parts’ “Hole” which I intended to mix with the Pads.

The stroke-widths set to 0 didn’t reduce the size of the hole.

I then hit the “only one of “SMD” or “Through-hole” components” paradigm in the Edit Part (new parts editor…) under Connectors, the checkboxes are labelled “Set all to:”. N.B. ALL.

Objects with ID “nonconn(x)” placed in copper1 in the .svg, are drilled correctly as desired as holes in the PCB, even though the part is set as to SMD (as opposed to “Through-hole”) in the “new parts editor”.

I get these warnings:
Copper0 layer export is empty.
exported mask layer Mask0 is empty
exported paste mask is empty

when exporting to Gerber. I don’t get these warnings under Export Etchable (SVG).

The part is doing the desired job.

3-Pin Dual Gang Variable Capacitor PCB

3-Pin Dual Gang Variable Capacitor.fzpz (49.9 KB)

Pete

You always get those messages if your sketch only has SMD parts (as there is nothing on the copper0 layer, but any through hole part in the sketch will create a copper0 layer and thus remove the messages) so that is normal and expected (if surprising if you aren’t aware of the cause!)

Peter