diff --git a/common/drc_rules.keywords b/common/drc_rules.keywords index a516ac08c0..a10cdc2702 100644 --- a/common/drc_rules.keywords +++ b/common/drc_rules.keywords @@ -35,4 +35,5 @@ silk_clearance skew diff_pair_gap diff_pair_uncoupled -via_count \ No newline at end of file +via_count +via_diameter \ No newline at end of file diff --git a/pcbnew/dialogs/panel_setup_rules.cpp b/pcbnew/dialogs/panel_setup_rules.cpp index 5f4e597a96..21169d4ab2 100644 --- a/pcbnew/dialogs/panel_setup_rules.cpp +++ b/pcbnew/dialogs/panel_setup_rules.cpp @@ -256,7 +256,8 @@ void PANEL_SETUP_RULES::onScintillaCharAdded( wxStyledTextEvent &aEvent ) "silk_clearance " "skew " "track_width " - "via_count "; + "via_count " + "via_diameter"; } else if( sexprs.top() == "disallow" || sexprs.top() == "buried_via" diff --git a/pcbnew/dialogs/panel_setup_rules_help.md b/pcbnew/dialogs/panel_setup_rules_help.md index 357b30ba9f..e1e2dcb62e 100644 --- a/pcbnew/dialogs/panel_setup_rules_help.md +++ b/pcbnew/dialogs/panel_setup_rules_help.md @@ -34,6 +34,7 @@ * skew * track\_width * via\_count + * via\_diameter <br><br> diff --git a/pcbnew/drc/drc_rule_parser.cpp b/pcbnew/drc/drc_rule_parser.cpp index fce3bd547d..2dd4b07017 100644 --- a/pcbnew/drc/drc_rule_parser.cpp +++ b/pcbnew/drc/drc_rule_parser.cpp @@ -256,7 +256,7 @@ void DRC_RULES_PARSER::parseConstraint( DRC_RULE* aRule ) { msg.Printf( _( "Missing constraint type.| Expected %s." ), "clearance, hole_clearance, edge_clearance, hole, hole_to_hole, " - "courtyard_clearance, silk_clearance, track_width, annular_width, " + "courtyard_clearance, silk_clearance, track_width, annular_width, via_diameter, " "disallow, length, skew, via_count, diff_pair_gap or diff_pair_uncoupled" ); reportError( msg ); return; @@ -274,6 +274,7 @@ void DRC_RULES_PARSER::parseConstraint( DRC_RULE* aRule ) case T_silk_clearance: c.m_Type = SILK_CLEARANCE_CONSTRAINT; break; case T_track_width: c.m_Type = TRACK_WIDTH_CONSTRAINT; break; case T_annular_width: c.m_Type = ANNULAR_WIDTH_CONSTRAINT; break; + case T_via_diameter: c.m_Type = VIA_DIAMETER_CONSTRAINT; break; case T_disallow: c.m_Type = DISALLOW_CONSTRAINT; break; case T_length: c.m_Type = LENGTH_CONSTRAINT; break; case T_skew: c.m_Type = SKEW_CONSTRAINT; break; @@ -283,7 +284,7 @@ void DRC_RULES_PARSER::parseConstraint( DRC_RULE* aRule ) default: msg.Printf( _( "Unrecognized item '%s'.| Expected %s." ), FromUTF8(), "clearance, hole_clearance, edge_clearance, hole_size, hole_to_hole, " - "courtyard_clearance, silk_clearance, track_width, annular_width, " + "courtyard_clearance, silk_clearance, track_width, annular_width, via_diameter, " "disallow, length, skew, diff_pair_gap or diff_pair_uncoupled." ); reportError( msg ); }