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

Go to the source code of this file.

Classes

class  DRC_ITEM
 
class  DRC_ITEMS_PROVIDER
 

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_ISOLATED_COPPER , DRCE_STARVED_THERMAL , 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_CONNECTION_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_LIB_FOOTPRINT_ISSUES ,
  DRCE_LIB_FOOTPRINT_MISMATCH , DRCE_PAD_TH_WITH_NO_HOLE , DRCE_FOOTPRINT , DRCE_UNRESOLVED_VARIABLE ,
  DRCE_ASSERTION_FAILURE , DRCE_COPPER_SLIVER , DRCE_SOLDERMASK_BRIDGE , DRCE_SILK_CLEARANCE ,
  DRCE_SILK_EDGE_CLEARANCE , DRCE_TEXT_HEIGHT , DRCE_TEXT_THICKNESS , 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_ISOLATED_COPPER 
DRCE_STARVED_THERMAL 
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_CONNECTION_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_LIB_FOOTPRINT_ISSUES 
DRCE_LIB_FOOTPRINT_MISMATCH 
DRCE_PAD_TH_WITH_NO_HOLE 
DRCE_FOOTPRINT 
DRCE_UNRESOLVED_VARIABLE 
DRCE_ASSERTION_FAILURE 
DRCE_COPPER_SLIVER 
DRCE_SOLDERMASK_BRIDGE 
DRCE_SILK_CLEARANCE 
DRCE_SILK_EDGE_CLEARANCE 
DRCE_TEXT_HEIGHT 
DRCE_TEXT_THICKNESS 
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 37 of file drc_item.h.

37 {
38 DRCE_FIRST = 1,
39 DRCE_UNCONNECTED_ITEMS = DRCE_FIRST, // items are unconnected
40 DRCE_SHORTING_ITEMS, // items short two nets but are not a net-tie
41 DRCE_ALLOWED_ITEMS, // a disallowed item has been used
42 DRCE_TEXT_ON_EDGECUTS, // text or dimension on Edge.Cuts layer
43 DRCE_CLEARANCE, // items are too close together
44 DRCE_TRACKS_CROSSING, // tracks are crossing
45 DRCE_EDGE_CLEARANCE, // a copper item is too close to the board edge
46 DRCE_ZONES_INTERSECT, // copper zone outlines intersect
47 DRCE_ISOLATED_COPPER, // copper fill with no electrical connections
48 DRCE_STARVED_THERMAL, // insufficient number of thermal spokes connected to zone
49 DRCE_DANGLING_VIA, // via which isn't connected to anything
50 DRCE_DANGLING_TRACK, // track with at least one end not connected to anything
51 DRCE_DRILLED_HOLES_TOO_CLOSE, // overlapping drilled holes break drill bits
52 DRCE_DRILLED_HOLES_COLOCATED, // two holes at the same location
54 DRCE_TRACK_WIDTH, // Track width is too small or too large
55 DRCE_ANNULAR_WIDTH, // Via size and drill leave annular ring too small
56 DRCE_CONNECTION_WIDTH, // Net connection too small
57 DRCE_DRILL_OUT_OF_RANGE, // Too small via or pad drill
58 DRCE_VIA_DIAMETER, // Via diameter checks (min/max)
59 DRCE_PADSTACK, // something is wrong with a pad or via stackup
60 DRCE_MICROVIA_DRILL_OUT_OF_RANGE, // Too small micro via drill
61 DRCE_OVERLAPPING_FOOTPRINTS, // footprint courtyards overlap
62 DRCE_MISSING_COURTYARD, // footprint has no courtyard defined
63 DRCE_MALFORMED_COURTYARD, // footprint has a courtyard but malformed
64 // (not convertible to a closed polygon with holes)
67 DRCE_DISABLED_LAYER_ITEM, // item on a disabled layer
68 DRCE_INVALID_OUTLINE, // invalid board outline
69
70 DRCE_MISSING_FOOTPRINT, // footprint not found for netlist item
71 DRCE_DUPLICATE_FOOTPRINT, // more than one footprints found for netlist item
72 DRCE_EXTRA_FOOTPRINT, // netlist item not found for footprint
73 DRCE_NET_CONFLICT, // pad net doesn't match netlist
74
75 DRCE_FOOTPRINT_TYPE_MISMATCH, // footprint attribute does not match actual pads
76 DRCE_LIB_FOOTPRINT_ISSUES, // footprint not found in active libraries
77 DRCE_LIB_FOOTPRINT_MISMATCH, // footprint does not match the current library
78 DRCE_PAD_TH_WITH_NO_HOLE, // footprint has Plated Through-Hole with no hole
79 DRCE_FOOTPRINT, // error in footprint definition
80
82 DRCE_ASSERTION_FAILURE, // user-defined (custom rule) assertion
83
85 DRCE_SOLDERMASK_BRIDGE, // failure to maintain min soldermask web thickness
86 // between copper items with different nets
87
88 DRCE_SILK_CLEARANCE, // silkscreen clipped by mask (potentially leaving it
89 // over pads, exposed copper, etc.)
93 DRCE_OVERLAPPING_SILK, // silk to silk clearance error
94
100
102};
@ DRCE_DISABLED_LAYER_ITEM
Definition: drc_item.h:67
@ DRCE_SKEW_OUT_OF_RANGE
Definition: drc_item.h:96
@ DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE
Definition: drc_item.h:98
@ DRCE_HOLE_CLEARANCE
Definition: drc_item.h:53
@ DRCE_SILK_EDGE_CLEARANCE
Definition: drc_item.h:90
@ DRCE_ZONES_INTERSECT
Definition: drc_item.h:46
@ DRCE_TOO_MANY_VIAS
Definition: drc_item.h:97
@ DRCE_VIA_DIAMETER
Definition: drc_item.h:58
@ DRCE_UNCONNECTED_ITEMS
Definition: drc_item.h:39
@ DRCE_TRACK_WIDTH
Definition: drc_item.h:54
@ DRCE_PADSTACK
Definition: drc_item.h:59
@ DRCE_LIB_FOOTPRINT_ISSUES
Definition: drc_item.h:76
@ DRCE_OVERLAPPING_FOOTPRINTS
Definition: drc_item.h:61
@ DRCE_INVALID_OUTLINE
Definition: drc_item.h:68
@ DRCE_TEXT_ON_EDGECUTS
Definition: drc_item.h:42
@ DRCE_OVERLAPPING_SILK
Definition: drc_item.h:93
@ DRCE_DRILL_OUT_OF_RANGE
Definition: drc_item.h:57
@ DRCE_EDGE_CLEARANCE
Definition: drc_item.h:45
@ DRCE_STARVED_THERMAL
Definition: drc_item.h:48
@ DRCE_MISSING_COURTYARD
Definition: drc_item.h:62
@ DRCE_CLEARANCE
Definition: drc_item.h:43
@ DRCE_ISOLATED_COPPER
Definition: drc_item.h:47
@ DRCE_DRILLED_HOLES_TOO_CLOSE
Definition: drc_item.h:51
@ DRCE_ALLOWED_ITEMS
Definition: drc_item.h:41
@ DRCE_COPPER_SLIVER
Definition: drc_item.h:84
@ DRCE_PTH_IN_COURTYARD
Definition: drc_item.h:65
@ DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG
Definition: drc_item.h:99
@ DRCE_MICROVIA_DRILL_OUT_OF_RANGE
Definition: drc_item.h:60
@ DRCE_SHORTING_ITEMS
Definition: drc_item.h:40
@ DRCE_MALFORMED_COURTYARD
Definition: drc_item.h:63
@ DRCE_FIRST
Definition: drc_item.h:38
@ DRCE_DANGLING_VIA
Definition: drc_item.h:49
@ DRCE_UNRESOLVED_VARIABLE
Definition: drc_item.h:81
@ DRCE_FOOTPRINT_TYPE_MISMATCH
Definition: drc_item.h:75
@ DRCE_DUPLICATE_FOOTPRINT
Definition: drc_item.h:71
@ DRCE_DANGLING_TRACK
Definition: drc_item.h:50
@ DRCE_TEXT_HEIGHT
Definition: drc_item.h:91
@ DRCE_ASSERTION_FAILURE
Definition: drc_item.h:82
@ DRCE_SOLDERMASK_BRIDGE
Definition: drc_item.h:85
@ DRCE_DRILLED_HOLES_COLOCATED
Definition: drc_item.h:52
@ DRCE_EXTRA_FOOTPRINT
Definition: drc_item.h:72
@ DRCE_SILK_CLEARANCE
Definition: drc_item.h:88
@ DRCE_LENGTH_OUT_OF_RANGE
Definition: drc_item.h:95
@ DRCE_LAST
Definition: drc_item.h:101
@ DRCE_LIB_FOOTPRINT_MISMATCH
Definition: drc_item.h:77
@ DRCE_NET_CONFLICT
Definition: drc_item.h:73
@ DRCE_MISSING_FOOTPRINT
Definition: drc_item.h:70
@ DRCE_PAD_TH_WITH_NO_HOLE
Definition: drc_item.h:78
@ DRCE_FOOTPRINT
Definition: drc_item.h:79
@ DRCE_TEXT_THICKNESS
Definition: drc_item.h:92
@ DRCE_NPTH_IN_COURTYARD
Definition: drc_item.h:66
@ DRCE_CONNECTION_WIDTH
Definition: drc_item.h:56
@ DRCE_TRACKS_CROSSING
Definition: drc_item.h:44
@ DRCE_ANNULAR_WIDTH
Definition: drc_item.h:55