diff --git a/pcbnew/pcb_io/ipc2581/pcb_io_ipc2581.cpp b/pcbnew/pcb_io/ipc2581/pcb_io_ipc2581.cpp index 0d4a1c3e9f..99b1ec3d9d 100644 --- a/pcbnew/pcb_io/ipc2581/pcb_io_ipc2581.cpp +++ b/pcbnew/pcb_io/ipc2581/pcb_io_ipc2581.cpp @@ -1612,11 +1612,13 @@ void PCB_IO_IPC2581::addVia( wxXmlNode* aContentNode, const PCB_VIA* aVia, PCB_L addPadStack( padNode, aVia ); addLocationNode( padNode, aVia->GetPosition().x, aVia->GetPosition().y ); - PCB_SHAPE shape( nullptr, SHAPE_T::CIRCLE ); - - shape.SetEnd( { KiROUND( aVia->GetWidth() / 2.0 ), 0 } ); - addShape( padNode, shape ); + PAD dummy( nullptr ); + int hole = aVia->GetDrillValue(); + dummy.SetDrillSize( VECTOR2I( hole, hole ) ); + dummy.SetPosition( aVia->GetStart() ); + dummy.SetSize( VECTOR2I( aVia->GetWidth(), aVia->GetWidth() ) ); + addShape( padNode, dummy, aLayer ); } void PCB_IO_IPC2581::addPadStack( wxXmlNode* aPadNode, const PAD* aPad )