Honor SMALL_DRILL_SHAPE option when plotting DXF.
Fixes: lp:1566744 * https://bugs.launchpad.net/kicad/+bug/1566744
This commit is contained in:
parent
aa18aa13b9
commit
45386ccbf3
|
@ -680,6 +680,9 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter,
|
||||||
// Plot pad holes
|
// Plot pad holes
|
||||||
if( aPlotOpt.GetDrillMarksType() != PCB_PLOT_PARAMS::NO_DRILL_SHAPE )
|
if( aPlotOpt.GetDrillMarksType() != PCB_PLOT_PARAMS::NO_DRILL_SHAPE )
|
||||||
{
|
{
|
||||||
|
int smallDrill = (aPlotOpt.GetDrillMarksType() == PCB_PLOT_PARAMS::SMALL_DRILL_SHAPE)
|
||||||
|
? SMALL_DRILL : INT_MAX;
|
||||||
|
|
||||||
for( MODULE* module = aBoard->m_Modules; module; module = module->Next() )
|
for( MODULE* module = aBoard->m_Modules; module; module = module->Next() )
|
||||||
{
|
{
|
||||||
for( D_PAD* pad = module->PadsList(); pad; pad = pad->Next() )
|
for( D_PAD* pad = module->PadsList(); pad; pad = pad->Next() )
|
||||||
|
@ -690,9 +693,13 @@ void PlotLayerOutlines( BOARD* aBoard, PLOTTER* aPlotter,
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if( hole.x == hole.y )
|
if( hole.x == hole.y )
|
||||||
|
{
|
||||||
|
hole.x = std::min( smallDrill, hole.x );
|
||||||
aPlotter->Circle( pad->GetPosition(), hole.x, NO_FILL );
|
aPlotter->Circle( pad->GetPosition(), hole.x, NO_FILL );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Note: small drill marks have no significance when applied to slots
|
||||||
wxPoint drl_start, drl_end;
|
wxPoint drl_start, drl_end;
|
||||||
int width;
|
int width;
|
||||||
pad->GetOblongDrillGeometry( drl_start, drl_end, width );
|
pad->GetOblongDrillGeometry( drl_start, drl_end, width );
|
||||||
|
|
Loading…
Reference in New Issue