kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #36292
Re: [PATCH] GAL: Draw hole even if pad has no layer
Is this malformed pad actually caused by KiCad or is it possible this
was cause by a script or manual editing? If it was caused by KiCad then
we need to figure out how this was allowed to happen and fix it.
Wayne
On 06/23/2018 02:54 AM, jp charras wrote:
> 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
>>
References