Zone filler: do not create stubs in thermal reliefs when not possible.

pad size is sometimes smaller than the zone minimal width.
So, to avoid strange and incorrect results, do not create the stubs in
thermal relief when the pad size is smaller than the zone minimal width.
This commit is contained in:
jean-pierre charras 2019-12-04 13:23:09 +01:00
parent f0c386f5dd
commit 4a75cc586c
1 changed files with 5 additions and 1 deletions

View File

@ -621,7 +621,7 @@ void ZONE_FILLER::buildCopperItemClearances( const ZONE_CONTAINER* aZone, SHAPE_
// Add zones outlines having an higher priority and keepout
//
for( ZONE_CONTAINER* zone : m_board->GetZoneList( true ) )
for( ZONE_CONTAINER* zone : m_board->GetZoneList( true ) )
{
// If the zones share no common layers
@ -908,6 +908,10 @@ void ZONE_FILLER::buildThermalSpokes( const ZONE_CONTAINER* aZone,
spoke_w = std::min( spoke_w, pad->GetSize().x );
spoke_w = std::min( spoke_w, pad->GetSize().y );
// Cannot create stubs having a width < zone min thickness
if( spoke_w <= aZone->GetMinThickness() )
continue;
int spoke_half_w = spoke_w / 2;
// Quick test here to possibly save us some work