Handle dimensions and textboxes when plotting contours to DXF.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11901
This commit is contained in:
parent
2ae36312c4
commit
83fe3576c6
|
@ -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<const PCB_DIMENSION_BASE*>( item );
|
||||
|
||||
dim->TransformShapeToPolygon( aOutlines, aLayer, 0, maxError, ERROR_INSIDE );
|
||||
dim->TransformTextToPolySet( aOutlines, 0, maxError, ERROR_INSIDE );
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -3042,7 +3042,12 @@ void FOOTPRINT::TransformFPShapesToPolySet( SHAPE_POLY_SET& aBuffer, PCB_LAYER_I
|
|||
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( 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 )
|
||||
|
|
Loading…
Reference in New Issue