diff --git a/pcbnew/board.cpp b/pcbnew/board.cpp index cee26398b1..4f09643686 100644 --- a/pcbnew/board.cpp +++ b/pcbnew/board.cpp @@ -2374,7 +2374,6 @@ void BOARD::ConvertBrdLayerToPolygonalContours( PCB_LAYER_ID aLayer, { footprint->TransformPadsToPolySet( aOutlines, aLayer, 0, maxError, ERROR_INSIDE ); - // Microwave footprints may have items on copper layers footprint->TransformFPShapesToPolySet( aOutlines, aLayer, 0, maxError, ERROR_INSIDE, true, /* include text */ true, /* include shapes */ @@ -2428,6 +2427,19 @@ void BOARD::ConvertBrdLayerToPolygonalContours( PCB_LAYER_ID aLayer, break; } + case PCB_DIM_ALIGNED_T: + case PCB_DIM_CENTER_T: + case PCB_DIM_RADIAL_T: + case PCB_DIM_ORTHOGONAL_T: + case PCB_DIM_LEADER_T: + { + const PCB_DIMENSION_BASE* dim = static_cast( item ); + + dim->TransformShapeToPolygon( aOutlines, aLayer, 0, maxError, ERROR_INSIDE ); + dim->TransformTextToPolySet( aOutlines, 0, maxError, ERROR_INSIDE ); + break; + } + default: break; } diff --git a/pcbnew/footprint.cpp b/pcbnew/footprint.cpp index 6f84e7a0a3..e65f0530dc 100644 --- a/pcbnew/footprint.cpp +++ b/pcbnew/footprint.cpp @@ -2875,7 +2875,12 @@ void FOOTPRINT::TransformFPShapesToPolySet( SHAPE_POLY_SET& aBuffer, PCB_LAYER_I FP_TEXTBOX* textbox = static_cast( item ); if( aLayer != UNDEFINED_LAYER && textbox->GetLayer() == aLayer && textbox->IsVisible() ) - textbox->TransformShapeToPolygon( aBuffer, aLayer, 0, aError, aErrorLoc ); + { + // border + textbox->PCB_SHAPE::TransformShapeToPolygon( aBuffer, aLayer, 0, aError, aErrorLoc ); + // text + textbox->TransformTextToPolySet( aBuffer, 0, aError, aErrorLoc ); + } } if( item->Type() == PCB_FP_SHAPE_T && aIncludeShapes )