PNS::Shove Add margin when generating hulls for arc segments
Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/9023 There is still a case where if the shover does not find a solution, we try clipping the arc and it still collides.
This commit is contained in:
parent
15f309c8a8
commit
4e0ad07eb0
|
@ -436,7 +436,14 @@ SHOVE::SHOVE_STATUS SHOVE::ShoveObstacleLine( const LINE& aCurLine, const LINE&
|
|||
for( int i = 0; i < currentLineSegmentCount; i++ )
|
||||
{
|
||||
SEGMENT seg( aCurLine, aCurLine.CSegment( i ) );
|
||||
SHAPE_LINE_CHAIN hull = seg.Hull( clearance, obstacleLineWidth, aObstacleLine.Layer() );
|
||||
int extra = 0;
|
||||
|
||||
// Arcs need additional clearance to ensure the hulls are always bigger than the arc
|
||||
if( aCurLine.CLine().IsArcSegment( i ) )
|
||||
extra = SHAPE_ARC::DefaultAccuracyForPCB();
|
||||
|
||||
SHAPE_LINE_CHAIN hull =
|
||||
seg.Hull( clearance + extra, obstacleLineWidth, aObstacleLine.Layer() );
|
||||
|
||||
hulls.push_back( hull );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue