kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #08024
Re: Segvia and zone filling.
On 04/20/2012 05:57 AM, jean-pierre charras wrote:
> Le 20/04/2012 10:24, Dick Hollenbeck a écrit :
>>> With this patch, DRC recognizes that the vias are connected, and doesn't complain at all
>>> about them.
>>
>> Dan& Tom,
>>
>> Please re-test the revised patch, which has a better chance of being committed if it still
>> works.
>>
>> And Dan, if you are interested in learning about what was changed, you might apply this to
>> a pristine testing checkout, then compare that branch to the other one you have now.
>>
>>
>> Thanks,
>>
>> Dick
> About this patch, if it fixes an issue, it creates some important others.
> This is not only a matter of coding, this is the approach that creates issues:
>
> 1 - Keep netcode when a track is not connected to a pad (or a track connected to a pad)
> can create not connected copper areas (floating copper zones).
> This is the main drawback.
> Note this could be fixed by a better code, but this is not fixed by the patch.
> The initial patch had this issue, and this is the main reason I did not accept it.
> ( Pcbnew removes all floating copper areas, and to do that, checks for each copper area if
> there is at least one track end inside the area, assuming all tracks are connected to something )
> 2 - tracks that are *really* not connected keep also a netcode. I am pretty sure this is bad.
> 3 - If a zone has its net changed, the net of stitching vias are not updated.
> this is also an issue, because a board is usually modified and edited during its life time.
>
> An alternate way could be:
> when a track/via is created starting to a zone, it is linked to the corresponding zone (the time stamp could be a good link)
> If the full track is connected to a pad/track it is no linked to the zone.
> Therefore, when a zone is deleted, moved... the linked tracks can be also updated, and keep their net.
> And these tracks could be ignored by test functions which test floating copper areas.
>
>
> However because it is so easy to connect stitching tracks/vias to a pad,
> I am not volunteer to write this code, just to spare 1 second of working time of some users..
Jean-Pierre,
Thanks for looking at the patch. I did not commit it because I was not 100% sure it was
conceptually solid, nor did I have enough time to delve deeper.
But to be honest, normally I cannot even read C++ code that does not conform to our coding
standards, since it sends my head into a fourth dimension.
So that was simply a starting point, to make it readable.
It is apparent that your time is valuable Jean-Pierre, and we appreciate you taking the
time to look at it.
Dan, is there a bug report for this, flagged as wishlist?
I will add it to the bottom of my todo list. Being at the bottom could be temporary,
because if I get bit by this, then it would elevate in a hurry.
In the mean time, you can also contemplate a better solution, this time hopefully one that
meets with the coding standards. I promise not to look at the next patch if it does not.
I promise to fix this myself if it ever bothers me enough. This is where it stands from
my perspective.
At least we got a look at it from Jean-Pierre, who in shortest period of time was able to
assess pitfalls.
Dick
Follow ups
References