← Back to team overview

kicad-developers team mailing list archive

Re: Module editor branch merged

 

Le 16/07/2014 10:16, Maciej Sumiński a écrit :
> On 07/16/2014 10:08 AM, Nick Østergaard wrote:
>> 2014-07-15 17:45 GMT+02:00 Maciej Sumiński <maciej.suminski@xxxxxxx>:
>>> Hi Nick,
>>>
>>> In my opinion drawing on copper layers with drawing tools instead of
>>> laying
>>> out tracks should not be allowed unless it is supported by the DRC
>>> algorithm.
>>
>> Sure, the DRC should handle it, but refresh my memory -- as far as I
>> remember there was some talk about including tracks in footprints. I
>> don't remember the outcome of that or it it is allow or not.
> 
> For the time being tracks are not supported by the module editor. The
> reason is the same as - it would have to be handled by all algorithms
> use tracks as input data (DRC, ratsnest, just to give an example).
> It could be relatively easy to implement using iterators that go through
> the list of tracks that belong to a board and then do the same for all
> tracks that are stored in modules placed on the same board. It is just
> an idea that may need some further consideration - I do not volunteer to
> code it now.
> 
> Regards,
> Orson
> 
Some thought about tracks/segments/zones on copper layers in Footprint
editor.

If tracks are allowed in footprints, handling them in DRC and ratsnest
is perhaps the most easy part of the needed code (except for microwave
applications).

But there are many tricky issues:
* When you create a footprint, you don't know anything about layers
count, anything about design constraints ( net classes constraints,
track width, clearance, impedance which need to know the thickness of
the substrate between 2 layers ...) and nets. How can you design a good
footprint with tracks with no knowledge of these constraints?
* When the footprint is put on the board, what do you do when this
footprint is moved, flipped ...
What about tracks created by the footprint editor, what about new tracks
connected to these predefined tracks?
* What do you do when modifying predefined tracks, and when you update
this footprint (exchange function) from the footprint library?

1 - You have to take *good* decisions about these tricky issues. this is
not easy.
2 - I also do not volunteer to code it, never.
3 - Moreover, I am thinking using tracks in footprints creates many
issues and have only very few advantages.

Note also using tracks (or segments, like now) in microwave footprints
is very very tricky for DRC tests.
The basic reason is the fact tracks and zones in DRC tests are expected
to be equipotential copper areas.
*This is not the fact* in microwave footprints.
Therefore you cannot easily take in account (in DRC algorithms) segments
and zones drawn in footprint editor on copper layers, because in many
case they connect 2 different nets.
In fact these shapes drawn on the copper layers are something like
inductors, capacitors, and sometimes more complex passive structures,
like filters.

-- 
Jean-Pierre CHARRAS


Follow ups

References