7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-07 17:45:32 +00:00

Fabmaster: handle circular zone cutouts

This commit is contained in:
John Beard 2024-11-25 09:52:41 +08:00
parent 1942f2f227
commit 8a56d3e2b9

View File

@ -2865,11 +2865,17 @@ bool FABMASTER::loadZone( BOARD* aBoard, const std::unique_ptr<FABMASTER::TRACE>
zone_outline->Append( src->end_x, src->end_y, 0, hole_idx );
}
else if( seg->shape == GR_SHAPE_ARC )
else if( seg->shape == GR_SHAPE_ARC || seg->shape == GR_SHAPE_CIRCLE )
{
/* Even if it says "circle", it's actually an arc, it's just closed */
const GRAPHIC_ARC* src = static_cast<const GRAPHIC_ARC*>( seg.get() );
zone_outline->Hole( 0, hole_idx ).Append( src->result );
}
else
{
wxASSERT_MSG( false,
wxString::Format( "Invalid shape type %d in zone outline", seg->shape ) );
}
}
if( zone_outline->Outline( 0 ).PointCount() >= 3 )