← Back to team overview

kicad-developers team mailing list archive

Granularity of DRC error code


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?


Follow ups