Better reporting of copper <--> keepout area clearances.

(Keepout areas can keep-out copper, but they don't have a clearance
to copper.)

Fixes https://gitlab.com/kicad/code/kicad/issues/14375
This commit is contained in:
Jeff Young 2023-03-26 20:56:18 +01:00
parent 9976b9ce8c
commit a214ac0310
2 changed files with 13 additions and 3 deletions

View File

@ -1080,8 +1080,7 @@ DRC_CONSTRAINT DRC_ENGINE::EvalRules( DRC_CONSTRAINT_T aConstraintType, const BO
{
if( implicit && ( a_is_non_copper || b_is_non_copper ) )
{
REPORT( _( "Board and netclass clearances apply only between copper "
"items." ) );
REPORT( _( "Netclass clearances apply only between copper items." ) );
return;
}
}
@ -1362,6 +1361,13 @@ DRC_CONSTRAINT DRC_ENGINE::EvalRules( DRC_CONSTRAINT_T aConstraintType, const BO
constraint.m_Value.SetMin( m_designSettings->m_MinClearance );
}
if( a_is_non_copper || b_is_non_copper )
{
REPORT( _( "Local and board clearances apply only between copper items." ) );
constraint.m_Type = NULL_CONSTRAINT;
constraint.m_DisallowFlags = 0;
}
return constraint;
}
else if( aConstraintType == DIFF_PAIR_GAP_CONSTRAINT )

View File

@ -782,7 +782,11 @@ int BOARD_INSPECTION_TOOL::InspectClearance( const TOOL_EVENT& aEvent )
r->Report( "" );
if( clearance < 0 )
if( constraint.IsNull() )
{
r->Report( _( "Clearance is 0." ) );
}
else if( clearance < 0 )
{
r->Report( wxString::Format( _( "Resolved clearance: %s; clearance will not be "
"tested." ),