router: disable hole to hole mechanical constraint in P&S until a suitable solution is found (as it is now it breaks springback)

This commit is contained in:
Tomasz Włostowski 2019-08-07 23:44:35 +02:00
parent c7fc54b348
commit 75fcdb3b08
2 changed files with 4 additions and 6 deletions

View File

@ -30,11 +30,6 @@ namespace PNS {
bool ITEM::collideSimple( const ITEM* aOther, int aClearance, bool aNeedMTV, VECTOR2I* aMTV,
const NODE* aParentNode, bool aDifferentNetsOnly ) const
{
// hole-to-hole is a mechanical constraint (broken drill bits) not an electrical one, so
// it must be checked before checking aDifferentNetsOnly
if( aParentNode->GetRuleResolver()->CollideHoles( this, aOther, aNeedMTV, aMTV ) )
return true;
// same nets? no collision!
if( aDifferentNetsOnly && m_net == aOther->m_net && m_net >= 0 && aOther->m_net >= 0 )
return false;

View File

@ -776,7 +776,10 @@ SHOVE::SHOVE_STATUS SHOVE::onCollidingVia( ITEM* aCurrent, VIA* aObstacleVia )
// hole-to-hole is a mechanical constraint (broken drill bits), not an electrical
// one, so it has to be checked irrespective of matching nets.
holeCollision = rr->CollideHoles( &currentLine->Via(), aObstacleVia, true, &mtvHoles );
// temporarily removed hole-to-hole collision check due to conflicts with the springback algorithm...
// we need to figure out a better solution here - TW
holeCollision = false; //rr->CollideHoles( &currentLine->Via(), aObstacleVia, true, &mtvHoles );
}
// These aren't /actually/ lengths as we don't bother to do the square-root part,