KiCad PCB EDA Suite
drc_item.h File Reference
#include <rc_item.h>

Go to the source code of this file.

Classes

class  DRC_ITEM
 

Enumerations

enum  PCB_DRC_CODE {
  DRCE_FIRST = 1, DRCE_UNCONNECTED_ITEMS = DRCE_FIRST, DRCE_SHORTING_ITEMS, DRCE_ALLOWED_ITEMS,
  DRCE_TEXT_ON_EDGECUTS, DRCE_CLEARANCE, DRCE_TRACKS_CROSSING, DRCE_EDGE_CLEARANCE,
  DRCE_ZONES_INTERSECT, DRCE_ZONE_HAS_EMPTY_NET, DRCE_DANGLING_VIA, DRCE_DANGLING_TRACK,
  DRCE_DRILLED_HOLES_TOO_CLOSE, DRCE_DRILLED_HOLES_COLOCATED, DRCE_HOLE_CLEARANCE, DRCE_TRACK_WIDTH,
  DRCE_ANNULAR_WIDTH, DRCE_DRILL_OUT_OF_RANGE, DRCE_VIA_DIAMETER, DRCE_PADSTACK,
  DRCE_MICROVIA_DRILL_OUT_OF_RANGE, DRCE_OVERLAPPING_FOOTPRINTS, DRCE_MISSING_COURTYARD, DRCE_MALFORMED_COURTYARD,
  DRCE_PTH_IN_COURTYARD, DRCE_NPTH_IN_COURTYARD, DRCE_DISABLED_LAYER_ITEM, DRCE_INVALID_OUTLINE,
  DRCE_MISSING_FOOTPRINT, DRCE_DUPLICATE_FOOTPRINT, DRCE_EXTRA_FOOTPRINT, DRCE_NET_CONFLICT,
  DRCE_FOOTPRINT_TYPE_MISMATCH, DRCE_PAD_TH_WITH_NO_HOLE, DRCE_UNRESOLVED_VARIABLE, DRCE_SILK_MASK_CLEARANCE,
  DRCE_OVERLAPPING_SILK, DRCE_LENGTH_OUT_OF_RANGE, DRCE_SKEW_OUT_OF_RANGE, DRCE_TOO_MANY_VIAS,
  DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE, DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG, DRCE_LAST = DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG
}
 

Enumeration Type Documentation

◆ PCB_DRC_CODE

Enumerator
DRCE_FIRST 
DRCE_UNCONNECTED_ITEMS 
DRCE_SHORTING_ITEMS 
DRCE_ALLOWED_ITEMS 
DRCE_TEXT_ON_EDGECUTS 
DRCE_CLEARANCE 
DRCE_TRACKS_CROSSING 
DRCE_EDGE_CLEARANCE 
DRCE_ZONES_INTERSECT 
DRCE_ZONE_HAS_EMPTY_NET 
DRCE_DANGLING_VIA 
DRCE_DANGLING_TRACK 
DRCE_DRILLED_HOLES_TOO_CLOSE 
DRCE_DRILLED_HOLES_COLOCATED 
DRCE_HOLE_CLEARANCE 
DRCE_TRACK_WIDTH 
DRCE_ANNULAR_WIDTH 
DRCE_DRILL_OUT_OF_RANGE 
DRCE_VIA_DIAMETER 
DRCE_PADSTACK 
DRCE_MICROVIA_DRILL_OUT_OF_RANGE 
DRCE_OVERLAPPING_FOOTPRINTS 
DRCE_MISSING_COURTYARD 
DRCE_MALFORMED_COURTYARD 
DRCE_PTH_IN_COURTYARD 
DRCE_NPTH_IN_COURTYARD 
DRCE_DISABLED_LAYER_ITEM 
DRCE_INVALID_OUTLINE 
DRCE_MISSING_FOOTPRINT 
DRCE_DUPLICATE_FOOTPRINT 
DRCE_EXTRA_FOOTPRINT 
DRCE_NET_CONFLICT 
DRCE_FOOTPRINT_TYPE_MISMATCH 
DRCE_PAD_TH_WITH_NO_HOLE 
DRCE_UNRESOLVED_VARIABLE 
DRCE_SILK_MASK_CLEARANCE 
DRCE_OVERLAPPING_SILK 
DRCE_LENGTH_OUT_OF_RANGE 
DRCE_SKEW_OUT_OF_RANGE 
DRCE_TOO_MANY_VIAS 
DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE 
DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG 
DRCE_LAST 

Definition at line 34 of file drc_item.h.

34  {
35  DRCE_FIRST = 1,
36  DRCE_UNCONNECTED_ITEMS = DRCE_FIRST, // items are unconnected
37  DRCE_SHORTING_ITEMS, // items short two nets but are not a net-tie
38  DRCE_ALLOWED_ITEMS, // a disallowed item has been used
39  DRCE_TEXT_ON_EDGECUTS, // text or dimension on Edge.Cuts layer
40  DRCE_CLEARANCE, // items are too close together
41  DRCE_TRACKS_CROSSING, // tracks are crossing
42  DRCE_EDGE_CLEARANCE, // a copper item is too close to the board edge
43  DRCE_ZONES_INTERSECT, // copper area outlines intersect
44  DRCE_ZONE_HAS_EMPTY_NET, // copper area has a net but no pads in nets, which is suspicious
45  DRCE_DANGLING_VIA, // via which isn't connected to anything
46  DRCE_DANGLING_TRACK, // track with at least one end not connected to anything
47  DRCE_DRILLED_HOLES_TOO_CLOSE, // overlapping drilled holes break drill bits
48  DRCE_DRILLED_HOLES_COLOCATED, // two holes at the same location
50  DRCE_TRACK_WIDTH, // Track width is too small or too large
51  DRCE_ANNULAR_WIDTH, // Via size and drill leave annular ring too small
52  DRCE_DRILL_OUT_OF_RANGE, // Too small via or pad drill
53  DRCE_VIA_DIAMETER, // Via diameter checks (min/max)
54  DRCE_PADSTACK, // something is wrong with a pad or via stackup
55  DRCE_MICROVIA_DRILL_OUT_OF_RANGE, // Too small micro via drill
56  DRCE_OVERLAPPING_FOOTPRINTS, // footprint courtyards overlap
57  DRCE_MISSING_COURTYARD, // footprint has no courtyard defined
58  DRCE_MALFORMED_COURTYARD, // footprint has a courtyard but malformed
59  // (not convertible to a closed polygon with holes)
62  DRCE_DISABLED_LAYER_ITEM, // item on a disabled layer
63  DRCE_INVALID_OUTLINE, // invalid board outline
64 
65  DRCE_MISSING_FOOTPRINT, // footprint not found for netlist item
66  DRCE_DUPLICATE_FOOTPRINT, // more than one footprints found for netlist item
67  DRCE_EXTRA_FOOTPRINT, // netlist item not found for footprint
68  DRCE_NET_CONFLICT, // pad net doesn't match netlist
69 
70  DRCE_FOOTPRINT_TYPE_MISMATCH, // footprint attribute does not match actual pads
71  DRCE_PAD_TH_WITH_NO_HOLE, // footprint has Plated Through-Hole with no hole
72 
74  DRCE_SILK_MASK_CLEARANCE, // silkscreen clipped by mask (potentially leaving it
75  // over pads, exposed copper, etc.)
76  DRCE_OVERLAPPING_SILK, // silk to silk clearance error
80 
83 
85 };