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 );
|
footprint->TransformPadsToPolySet( aOutlines, aLayer, 0, maxError, ERROR_INSIDE );
|
||||||
|
|
||||||
// Microwave footprints may have items on copper layers
|
|
||||||
footprint->TransformFPShapesToPolySet( aOutlines, aLayer, 0, maxError, ERROR_INSIDE,
|
footprint->TransformFPShapesToPolySet( aOutlines, aLayer, 0, maxError, ERROR_INSIDE,
|
||||||
true, /* include text */
|
true, /* include text */
|
||||||
true, /* include shapes */
|
true, /* include shapes */
|
||||||
|
@ -2437,6 +2436,19 @@ void BOARD::ConvertBrdLayerToPolygonalContours( PCB_LAYER_ID aLayer,
|
||||||
break;
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3042,7 +3042,12 @@ void FOOTPRINT::TransformFPShapesToPolySet( SHAPE_POLY_SET& aBuffer, PCB_LAYER_I
|
||||||
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( item );
|
PCB_TEXTBOX* textbox = static_cast<PCB_TEXTBOX*>( item );
|
||||||
|
|
||||||
if( aLayer != UNDEFINED_LAYER && textbox->GetLayer() == aLayer && textbox->IsVisible() )
|
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 )
|
if( item->Type() == PCB_SHAPE_T && aIncludeShapes )
|
||||||
|
|
Loading…
Reference in New Issue