← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] On net ties, microwave tools & custom pad shapes, altogether.

 

How are you saving this auto generate flag and width/length parameters
in the schematic?  If you are using component fields or text that's
fine.  However, please keep in mind that using component fields and text
is for passing information to third party tools that are not part of
kicad.  If we are going to support net ties and micro wave component
generation, we should do that as part of KiCad proper rather than treat
it like a third party tool which you are proposing.  I don't want the
component fields and text used for kicad features.  If you want to
provide this as an interim solution, I am OK with that.  However, you
may be creating more work for yourself when we finally get around to
supporting net ties and micro wave component generation as part of the
schematic editor.  Also using fields and text for passing information
tends to be awkward to use compared to built in features.

On 5/3/2016 8:40 AM, Tomasz Wlostowski wrote:
> Hi all,
> 
> Recently there has been a lot of discussion on these features. Here's a
> short proposal how we could hit all three birds with one stone:
> 
> Changes to SCH:
> - none
> 
> Changes to netlist import:
> - auto_generate flag for SCH components - when set, invokes a Python
> script/C++ plugin which updates the PCB footprint of the component
> depending on its SCH parameters (e.g. produces a microstrip footprint
> based on Width/Length parameters defined on SCH).
> - write some microwave component generator plugins (or port the existing
> tools). Perhaps a good job for Python.
> 
> Changes to PCB:
> 1) Add two flags to each graphical primitive within a footprint:
> - net_tie: DRC treats the primitive as non-conducting and doesn't throw
> a short circuit error (see drawing A)
> - net_inherit = pad_number: the primitive will take the net of the pad
> with given pad_number (see drawing B)
> 2) Add new 'anchor' virtual pad type.
> - indicates the point to attach a trace/via when routing the component.
> - exists on a single copper layer.
> - has no physical copper.
> - has an optional direction vector which denotes how it can be connected
> with a trace/other anchor pad (see drawing C)
> - has a circular perimeter (maybe other shapes in the future if needed).
> Objects intersecting the graphical primitive outside the anchor
> perimeter are considered colliding by the DRC (see drawing D) even if
> they have the same net.
> 3) modify .kicad_pcb/footprint formats to support the above:
> - extend fp_* entities: net_tie & net_inherit flags
> - extend pad entity: add anchor pad type, perimeter radius and direction
> vector.
> 4) modify DRC to support the above (we can benefit from the work already
> done by JP)
> 
> 
> Advantages:
> - microwave footprints generated straight from the schematics.
> - net ties for free (since based on the same idea as microwave components)
> - custom footprint copper shapes almost for free (costs one extra flag &
> some changes in netlist importer)
> - minimum changes to file formats & data structures.
> 
> The attached drawing shows use cases for all of the above and explains
> the concept of anchors.
> 
> Looking forward to your feedback,
> Tom
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


Follow ups

References