I was thinking along the same lines.  Wouldn't it make more sense to
define the objects that violate a DRC rule and generate the error
message on the fly rather than adding violation error codes for every
possible error?

On 6/11/20 9:26 AM, Jon Evans wrote:
> I think microvias and vias using different technologies means they
> need different *rules*, not different error codes.
> 
> Whether a hole is laser or mechanically drilled, it will have some
> rules, and those rules could generate an error "hole size is outside
> allowed range".
> 
> You can tell from the affected items whether the hole in question is a
> via, microvia, blind via, buried via.
> You can tell from the rule source whether this came from a microvia
> rule, normal via rule, custom rule, etc.
> 
> Why should we have separate violations per via type?  (not separate
> *rules* but separate violations)  I still don't get the use case.
> 
> As mentioned in the last taxonomy discussion, I still think we could
> get rid of the tons of different "X close to Y" errors and just call
> it a "clearance error", but I understand that might be more
> contentious so I'd like to focus for now on just the keepouts and
> vias.
> 
> -Jon
> 
> On Thu, Jun 11, 2020 at 6:51 AM Jeff Young <j...@rokeby.ie> wrote:
>>
>> The “Inside Keepout” issue might be a bad example.  I’d definitely be in 
>> favour of folding all of those into a single violation because a keepout 
>> already specifies which types of things are excluded.
>>
>> But other things I’d be less in favour of.  I want a warning about NPTHs in 
>> courtyards; I don’t want one for PTHs (the former likely has a mechanical 
>> fixing, the later likely doesn't).
>>
>> While I don’t personally use uVias, I’d certainly think we’d want separate 
>> violations for their holes (as they’re made with different technologies).  
>> On the flip side, I’m not sure there’s any value in distinguishing between 
>> throughVia holes and pad holes.
>>
>> But that gives us a different taxonomy for size vs. hole, as the difference 
>> between uVia and throughVia size may not be important.  (We already have 
>> this to some extent as I didn’t bother with separate annulus violations for 
>> via types, although there’s a TODO in the code).
>>
>> This all begs the question “how bad is an uneven taxonomy”?  Is it just an 
>> ivory-tower kind of thing, or will it actually cause confusion?
>>
>> Back to specific instances, I like being able to treat 
>> track-too-close-to-connected-item separately from 
>> track-to-close-to-unconnected-item, but I’m less fussed about the 
>> differences between the type of connected item (track-to-close-to-via vs 
>> track-to-close-to-track).  (For what it’s worth, unconnected items are 
>> already grouped as we don’t have separate errors for 
>> track-to-close-to-graphics vs track-to-close-to-text.  Yet another bit of 
>> unevenness in the existing taxonomy.)
>>
>> Oddly I find the parallel-tracks vs crossing-tracks useful, but I have no 
>> idea why.  I guess it just gives me a better idea of what I’m looking for on 
>> the board?
>>
>> One last note: Greg’s request for specific exclusions is already in the 
>> nightlies.
>>
>> Cheers,
>> Jeff
>>
>>
>>
>>> On 11 Jun 2020, at 06:19, Greg Smith <ecomput...@yahoo.com> wrote:
>>>
>>> I think more grouping in general categories is good. I also think that it 
>>> would be nice to exclude *specific* DRCs that once a designer checks the 
>>> error, they can flag it to ignore in the future. The specific check could 
>>> be identified by a unique id: a hash of specific information, like unique 
>>> error and objects involved (identified by geometries and properties 
>>> involved). If anything changes, then the rule violation reappears under a 
>>> different unique id. I think this would help greatly on near-tapeout 
>>> activities where sifting over the same DRC errors becomes tedious and prone 
>>> to missing valid DRC violations in the midst of “designer checked and 
>>> allowed” ones.
>>>
>>> Greg S.
>>>
>>>> On Jun 10, 2020, at 7:59 PM, Jon Evans <j...@craftyjon.com> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> A DRC error code is something like "Via inside keepout area", or in
>>>> the code, DRCE_VIA_INSIDE_KEEPOUT.  It describes a "type" of DRC
>>>> error.  This type is used for organizing the errors in the DRC report,
>>>> and more recently, for letting you set a severity
>>>> (error/warning/ignore) for each code.
>>>>
>>>> Currently we have a lot of DRC violation types, probably because the
>>>> violation types match up to the underlying code that is doing the
>>>> checking.  So, we also have a DRCE_MICROVIA_INSIDE_KEEPOUT and
>>>> DRCE_BBVIA_INSIDE_KEEPOUT, because a lot of KiCad code has separate
>>>> paths for those three types of vias.
>>>>
>>>> Do people find this useful?  I think it is too specific: I would
>>>> rather see a single code DRCE_VIA_INSIDE_KEEPOUT to include all types
>>>> of vias.  I could even see having a single code for any object inside
>>>> a keepout that isn't supposed to be there.  I can't imagine a
>>>> situation where I would want to have a via inside a keepout be an
>>>> error, but a microvia inside a keepout be a warning or an ignore
>>>> (having the separate error codes means you can have seperate severity
>>>> settings).  If I wanted to know if a particular DRC error referred to
>>>> a via or a microvia, I can do that from the linked item information --
>>>> I don't need a category to tell me that.
>>>>
>>>> What do you think?  Does having a lot of very specific error codes
>>>> help your workflow?  Would you miss these categories if some of them
>>>> got consolidated like the example I gave?  If so, are there other
>>>> changes we could make (or features we could add) that would make it
>>>> easier to deal with having less specific error codes?
>>>>
>>>> Thanks,
>>>> Jon
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>> Post to     : kicad-developers@lists.launchpad.net
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to