Write out partial pad-stacks for blind/buried/microvias.
Fixes https://gitlab.com/kicad/code/kicad/issues/11692
(cherry picked from commit 80124d2463
)
This commit is contained in:
parent
b6e7bf4768
commit
38a7cb9731
|
@ -179,12 +179,19 @@ private:
|
|||
switch( aStack.m_shape )
|
||||
{
|
||||
case PAD_SHAPE::CIRCLE:
|
||||
case PAD_SHAPE::OVAL: shapeId = 0; break;
|
||||
case PAD_SHAPE::ROUNDRECT: shapeId = 2; break;
|
||||
case PAD_SHAPE::RECT: shapeId = 1; break;
|
||||
default:
|
||||
case PAD_SHAPE::OVAL:
|
||||
shapeId = 0;
|
||||
break;
|
||||
|
||||
case PAD_SHAPE::ROUNDRECT:
|
||||
shapeId = 2;
|
||||
break;
|
||||
|
||||
case PAD_SHAPE::RECT:
|
||||
shapeId = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
if( m_reporter )
|
||||
{
|
||||
m_reporter->Report( _( "File contains pad shapes that are not supported by the "
|
||||
|
@ -194,6 +201,8 @@ private:
|
|||
m_reporter->Report( _( "They have been exported as oval pads." ),
|
||||
RPT_SEVERITY_INFO );
|
||||
}
|
||||
|
||||
shapeId = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -253,7 +262,7 @@ HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK( BOARD* aBoard, const PCB_VIA* aVia )
|
|||
m_sx = aVia->GetWidth();
|
||||
m_sy = aVia->GetWidth();
|
||||
m_angle = 0;
|
||||
m_layers = LSET::AllCuMask();
|
||||
m_layers = aVia->GetLayerSet();
|
||||
m_drill = aVia->GetDrillValue();
|
||||
m_shape = PAD_SHAPE::CIRCLE;
|
||||
m_type = PAD_ATTRIB::PTH;
|
||||
|
@ -479,6 +488,10 @@ bool HYPERLYNX_EXPORTER::writeNetObjects( const std::vector<BOARD_ITEM*>& aObjec
|
|||
iu2hyp( track->GetEnd().x ), iu2hyp( track->GetEnd().y ),
|
||||
iu2hyp( track->GetWidth() ), (const char*) layerName.c_str() );
|
||||
}
|
||||
else if( PCB_ARC* arc = dyn_cast<PCB_ARC*>( item ) )
|
||||
{
|
||||
// TODO!
|
||||
}
|
||||
else if( ZONE* zone = dyn_cast<ZONE*>( item ) )
|
||||
{
|
||||
for( PCB_LAYER_ID layer : zone->GetLayerSet().Seq() )
|
||||
|
|
Loading…
Reference in New Issue