diff --git a/pcbnew/router/pns_diff_pair.cpp b/pcbnew/router/pns_diff_pair.cpp index 933e1bf3bd..6f2c6eb940 100644 --- a/pcbnew/router/pns_diff_pair.cpp +++ b/pcbnew/router/pns_diff_pair.cpp @@ -837,7 +837,7 @@ void DIFF_PAIR::CoupledSegmentPairs( COUPLED_SEGMENTS_VEC& aPairs ) const int64_t dist = std::abs( sp.Distance( sn ) - m_width ); - if( sp.ApproxParallel( sn ) && m_gapConstraint.Matches( dist ) && + if( sp.ApproxParallel( sn, 2 ) && m_gapConstraint.Matches( dist ) && commonParallelProjection( sp, sn, p_clip, n_clip ) ) { const COUPLED_SEGMENTS spair( p_clip, sp, i, n_clip, sn, j ); diff --git a/pcbnew/router/pns_diff_pair_placer.cpp b/pcbnew/router/pns_diff_pair_placer.cpp index 8ad965261d..f9d551cf4c 100644 --- a/pcbnew/router/pns_diff_pair_placer.cpp +++ b/pcbnew/router/pns_diff_pair_placer.cpp @@ -278,7 +278,7 @@ bool DIFF_PAIR_PLACER::tryWalkDp( NODE* aNode, DIFF_PAIR &aPair, bool aSolidsOnl if( attemptWalk( tmp, &aPair, p, pfirst, wind_cw, aSolidsOnly ) ) { // double len = p.TotalLength(); - double cl = p.CoupledLength(); + double cl = 1 + p.CoupledLength(); double skew = p.Skew(); double score = cl + fabs( skew ) * 3.0;