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 )
|
switch( aStack.m_shape )
|
||||||
{
|
{
|
||||||
case PAD_SHAPE::CIRCLE:
|
case PAD_SHAPE::CIRCLE:
|
||||||
case PAD_SHAPE::OVAL: shapeId = 0; break;
|
case PAD_SHAPE::OVAL:
|
||||||
case PAD_SHAPE::ROUNDRECT: shapeId = 2; break;
|
|
||||||
case PAD_SHAPE::RECT: shapeId = 1; break;
|
|
||||||
default:
|
|
||||||
shapeId = 0;
|
shapeId = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAD_SHAPE::ROUNDRECT:
|
||||||
|
shapeId = 2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PAD_SHAPE::RECT:
|
||||||
|
shapeId = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
if( m_reporter )
|
if( m_reporter )
|
||||||
{
|
{
|
||||||
m_reporter->Report( _( "File contains pad shapes that are not supported by the "
|
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." ),
|
m_reporter->Report( _( "They have been exported as oval pads." ),
|
||||||
RPT_SEVERITY_INFO );
|
RPT_SEVERITY_INFO );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shapeId = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,7 +262,7 @@ HYPERLYNX_PAD_STACK::HYPERLYNX_PAD_STACK( BOARD* aBoard, const PCB_VIA* aVia )
|
||||||
m_sx = aVia->GetWidth();
|
m_sx = aVia->GetWidth();
|
||||||
m_sy = aVia->GetWidth();
|
m_sy = aVia->GetWidth();
|
||||||
m_angle = 0;
|
m_angle = 0;
|
||||||
m_layers = LSET::AllCuMask();
|
m_layers = aVia->GetLayerSet();
|
||||||
m_drill = aVia->GetDrillValue();
|
m_drill = aVia->GetDrillValue();
|
||||||
m_shape = PAD_SHAPE::CIRCLE;
|
m_shape = PAD_SHAPE::CIRCLE;
|
||||||
m_type = PAD_ATTRIB::PTH;
|
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->GetEnd().x ), iu2hyp( track->GetEnd().y ),
|
||||||
iu2hyp( track->GetWidth() ), (const char*) layerName.c_str() );
|
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 ) )
|
else if( ZONE* zone = dyn_cast<ZONE*>( item ) )
|
||||||
{
|
{
|
||||||
for( PCB_LAYER_ID layer : zone->GetLayerSet().Seq() )
|
for( PCB_LAYER_ID layer : zone->GetLayerSet().Seq() )
|
||||||
|
|
Loading…
Reference in New Issue