diff --git a/pcbnew/router/pns_kicad_iface.cpp b/pcbnew/router/pns_kicad_iface.cpp index 0522b93f7d..cf5a68dd63 100644 --- a/pcbnew/router/pns_kicad_iface.cpp +++ b/pcbnew/router/pns_kicad_iface.cpp @@ -235,6 +235,17 @@ bool PNS_PCBNEW_RULE_RESOLVER::IsNetTieExclusion( const PNS::ITEM* aItem, std::shared_ptr drcEngine = m_board->GetDesignSettings().m_DRCEngine; BOARD_ITEM* collidingItem = aCollidingItem->Parent(); + FOOTPRINT* collidingFp = static_cast( collidingItem->GetParentFootprint() ); + FOOTPRINT* itemFp = aItem->Parent() + ? static_cast( aItem->Parent()->GetParentFootprint() ) + : nullptr; + + if( collidingFp && itemFp && ( collidingFp == itemFp ) && itemFp->IsNetTie() ) + { + // Two items colliding from the same net tie footprint are not checked + return true; + } + if( drcEngine && collidingItem ) { return drcEngine->IsNetTieExclusion( aItem->Net(), ToLAYER_ID( aItem->Layer() ),