← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] GAL: Draw hole even if pad has no layer

 

Le 22/06/2018 à 21:54, Andrzej Wolski a écrit :
> No, this IS an error in the board :)
> If you open pad properties and click OK, it won't let you save it as is, you will have to enable
> copper layers.
> NPTH pads also HAVE TO exists on copper layers (I don't understand why, but they do).

Just because they *are* on these copper layers, regardless the hole has removed the visible copper area.

A pad is not only a copper area. It also define a clearance area, that is not necessary the hole area.
If you say: this pad is not on this copper layer, it means you have no obstacle to draw a track.
This is obviously false: the hole in on this layer.

If a NPTH is removed from copper layers (malformed pad), the PnS router will happily route a track
crossing the hole, because it is the mathematical result of "this pad is not here".
You can think: there is a bug in PnS router.
But the Truth is the pad is broken and has incorrect layer setting, therefore incorrect routing
constraints (and incorrect fill zone param).

Therefore regardless the GAL fix, the malformed pad (like any malformed item) need a fix when
reading the file, because it this king of issue can create problems, even crashes.

Of course, the GAL draw issue needs also to be fixed: it must show the hole, even for malformed pads.

> 
> Also, as I already mentioned, current GAL behavior is different from 4.0 GAL and legacy, so this is
> a regression.
> 
> Andrzej
> 
> W dniu 2018-06-22 o 21:44, Seth Hillbrand pisze:
>> Ah.  This is not an error in the board.  This is just an NPTH.  If you click on it in GAL, you
>> will see it.
>>
>> I think the correct patch to this should check the pad type instead of drawing one with no layers.
>>
>> -S
>>
>> Am Fr., 22. Juni 2018 um 12:33 Uhr schrieb Andrzej Wolski <awolski.kicad@xxxxxxxxx
>> <mailto:awolski.kicad@xxxxxxxxx>>:
>>
>>     IIRC you have to leave (layers) to reproduce this.
>>
>>     This is a board where I found the issue:
>>     https://github.com/mntmn/reform/blob/master/electronics/reform-motherboard.kicad_pcb
>>     There are two mPCIE connectors in the center, they have NPTH alignment holes, you can see them
>>     in legacy mode.
>>
>>     Andrzej
>>
>>     W dniu 2018-06-22 o 20:06, Seth Hillbrand pisze:
>>>     Andrzej-
>>>
>>>     I just tested this, editing a file to remove the layers from a pad and KiCad automatically
>>>     adds the pad back to all copper layers.  I see the pad in pcbnew and can edit it.
>>>
>>>     Can you provide a board that demonstrates the issue?  Maybe it was only the test board I used?
>>>
>>>     -S
>>>
>>>     Am Fr., 22. Juni 2018 um 10:51 Uhr schrieb Andrzej Wolski <awolski.kicad@xxxxxxxxx
>>>     <mailto:awolski.kicad@xxxxxxxxx>>:
>>>
>>>         Hi Seth,
>>>
>>>         current behavior is that malformed pad holes are always hidden, so you can't see on the
>>>         screen something that exists on your PCB and will be plotted in drill files. This patch
>>>         makes those holes visible.
>>>
>>>         Andrzej
>>>
>>>         W dniu 2018-06-22 o 17:46, Seth Hillbrand pisze:
>>>>         ​Andrzej-
>>>>
>>>>         Can you explain the issue that this patch addresses?  I read the commit message but it
>>>>         looks like malformed pads (GetLayerSet().any() == 0) are no longer hidden.  This seems
>>>>         counter-intuitive but maybe I'm just not seeing the problem.
>>>>
>>>>         Thanks!
>>>>         Seth​
>
-- 
Jean-Pierre CHARRAS


Follow ups

References