Make sure to add enough wiggle room when MaxError is very large.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16024
This commit is contained in:
parent
19e309d2d2
commit
1df5d9c48c
|
@ -1734,9 +1734,9 @@ void ZONE_FILLER::buildThermalSpokes( const ZONE* aZone, PCB_LAYER_ID aLayer,
|
||||||
|
|
||||||
zoneBB.Inflate( std::max( bds.GetBiggestClearanceValue(), aZone->GetLocalClearance() ) );
|
zoneBB.Inflate( std::max( bds.GetBiggestClearanceValue(), aZone->GetLocalClearance() ) );
|
||||||
|
|
||||||
// Is a point on the boundary of the polygon inside or outside? This small epsilon lets
|
// Is a point on the boundary of the polygon inside or outside? The boundary may be off by
|
||||||
// us avoid the question.
|
// MaxError, and we add 1.5 mil for some wiggle room.
|
||||||
int epsilon = KiROUND( pcbIUScale.IU_PER_MM * 0.04 ); // about 1.5 mil
|
int epsilon = KiROUND( bds.m_MaxError + pcbIUScale.IU_PER_MM * 0.038 ); // 1.5 mil
|
||||||
|
|
||||||
for( PAD* pad : aSpokedPadsList )
|
for( PAD* pad : aSpokedPadsList )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue