← Back to team overview

kicad-developers team mailing list archive

Patch to support FreeRouting for PCBs without through-plating


--ctP54qlpMx3WjD+/ Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Hi Devs,

I have been using kicad for some time now, mostly doing small prototype
boards etched in our own lab. The FreeRouting integration is very
good, but it only supports routing boards that have through hole plating.
Users that do not have such equipment face two problems when routing kicad
boards in FreeRouter:

1) Depending on the component type, it may be hard to solder the pads on
both sides. E.g., this includes connectors, but not necessarily DILs.

2) The method I use for creating vias is to put a wire through the hole
and solder on both sides. This is a simple method, but the via 'sticks
out', and can not be used underneath components.

I therefore propose a patch that solves this by defining a new pad type
(actually enabling a reserved unused type) 'Not Plated' which behaves
similar to the standard pad, but when exported to specctra only the
opposite side of the component will have an actual pad. The component side
of the padstack is just a keepout to avoid routing over it. The second
problem is solved by optionally adding via_keepouts where the component
bounding boxes are.

The attached patch does not modify any default behaviour and applies
against latest svn.

include/pad_shapes.h | 9 +-
include/wxPcbStruct.h | 6 +
pcbnew/class_pad.h | 4 -
pcbnew/dialog_freeroute_exchange.cpp | 3 
pcbnew/dialog_freeroute_exchange_base.cpp | 4 +
pcbnew/dialog_freeroute_exchange_base.h | 4 -
pcbnew/dialog_pad_properties_base.cpp | 2 
pcbnew/specctra.cpp | 4 -
pcbnew/specctra.h | 7 +-
pcbnew/specctra_export.cpp | 104 ++++++++++++++++++++++++++++--
10 files changed, 129 insertions(+), 18 deletions(-)

Håvard Espeland
 --ctP54qlpMx3WjD+/ Content-Type: text/x-diff; charset=iso-8859-1
Content-Disposition: attachment; filename="kicad-hole_not_plated.patch"

[Attachment content not displayed.] --ctP54qlpMx3WjD+/-- 

Follow ups