diff --git a/pcbnew/board.cpp b/pcbnew/board.cpp index d9bbb9859c..38196bc080 100644 --- a/pcbnew/board.cpp +++ b/pcbnew/board.cpp @@ -2382,7 +2382,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 */ @@ -2437,6 +2436,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 968d825a49..1e40ac294c 100644 --- a/pcbnew/footprint.cpp +++ b/pcbnew/footprint.cpp @@ -3042,7 +3042,12 @@ void FOOTPRINT::TransformFPShapesToPolySet( SHAPE_POLY_SET& aBuffer, PCB_LAYER_I PCB_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_SHAPE_T && aIncludeShapes )