Use diff-pair-via clearance when checking against vias.

Fixes: lp:1742275
* https://bugs.launchpad.net/kicad/+bug/1742275
This commit is contained in:
Jeff Young 2018-05-18 23:41:47 +01:00
parent d62b4f36a6
commit c5696738d2
1 changed files with 5 additions and 2 deletions

View File

@ -198,9 +198,12 @@ int PNS_PCBNEW_RULE_RESOLVER::Clearance( const PNS::ITEM* aA, const PNS::ITEM* a
bool linesOnly = aA->OfKind( PNS::ITEM::SEGMENT_T | PNS::ITEM::LINE_T )
&& aB->OfKind( PNS::ITEM::SEGMENT_T | PNS::ITEM::LINE_T );
if( linesOnly && net_a >= 0 && net_b >= 0 && m_netClearanceCache[net_a].coupledNet == net_b )
if( net_a >= 0 && net_b >= 0 && m_netClearanceCache[net_a].coupledNet == net_b )
{
cl_a = cl_b = m_router->Sizes().DiffPairGap() - 2 * PNS_HULL_MARGIN;
if( linesOnly )
cl_a = cl_b = m_router->Sizes().DiffPairGap() - 2 * PNS_HULL_MARGIN;
else
cl_a = cl_b = m_router->Sizes().DiffPairViaGap() - 2 * PNS_HULL_MARGIN;
}
int pad_a = localPadClearance( aA );