diff --git a/pcbnew/plot_board_layers.cpp b/pcbnew/plot_board_layers.cpp index 257b966ac1..380d8af11a 100644 --- a/pcbnew/plot_board_layers.cpp +++ b/pcbnew/plot_board_layers.cpp @@ -838,10 +838,10 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, for( FOOTPRINT* footprint : aBoard->Footprints() ) { + itemplotter.PlotFootprintTextItems( footprint ); + for( BOARD_ITEM* item : footprint->GraphicalItems() ) { - itemplotter.PlotFootprintTextItems( footprint ); - if( item->Type() == PCB_FP_SHAPE_T && item->GetLayer() == layer ) itemplotter.PlotFootprintGraphicItem( (FP_SHAPE*) item ); } @@ -921,7 +921,7 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, for( ZONE* zone : aBoard->Zones() ) { - if( zone->GetLayer() != layer ) + if( !zone->IsOnLayer( layer ) ) continue; // add shapes inflated by aMinThickness/2 in areas @@ -930,14 +930,14 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, // add shapes with their exact mask layer size in initialPolys zone->TransformSmoothedOutlineToPolygon( initialPolys, zone_margin, boardOutline ); } + } - int numSegs = GetArcToSegmentCount( inflate, maxError, 360.0 ); + int numSegs = GetArcToSegmentCount( inflate, maxError, 360.0 ); - // Merge all polygons: After deflating, not merged (not overlapping) polygons - // will have the initial shape (with perhaps small changes due to deflating transform) - areas.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); - areas.Deflate( inflate, numSegs ); - } + // Merge all polygons: After deflating, not merged (not overlapping) polygons + // will have the initial shape (with perhaps small changes due to deflating transform) + areas.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); + areas.Deflate( inflate, numSegs ); #if !NEW_ALGO // To avoid a lot of code, use a ZONE to handle and plot polygons, because our polygons look @@ -967,7 +967,7 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, // Slightly inflate polygons to avoid any gap between them and other shapes, // These gaps are created by arc to segments approximations - areas.Inflate( Millimeter2iu( 0.002 ),6 ); + areas.Inflate( Millimeter2iu( 0.002 ), 6 ); // Now, only polygons with a too small thickness are stored in areas. areas.Fracture( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE );