CADSTAR PCB Archive Importer: Import missing layer subtypes LAYERSUBTYPE_CLEARANCE and LAYERSUBTYPE_ROUT

This commit is contained in:
Roberto Fernandez Bautista 2020-10-26 21:15:24 +00:00 committed by Wayne Stambaugh
parent 7532428c46
commit 3d49f6d6f8
3 changed files with 34 additions and 2 deletions

View File

@ -386,6 +386,24 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadBoardStackup()
break;
case LAYER_SUBTYPE::LAYERSUBTYPE_ROUT:
if( numElecAndPowerLayers > 0 )
kicadLayerID = PCB_LAYER_ID::Eco2_User;
else
kicadLayerID = PCB_LAYER_ID::Eco1_User;
logBoardStackupWarning( curLayer.Name, kicadLayerID );
break;
case LAYER_SUBTYPE::LAYERSUBTYPE_CLEARANCE:
if( numElecAndPowerLayers > 0 )
kicadLayerID = PCB_LAYER_ID::Eco2_User;
else
kicadLayerID = PCB_LAYER_ID::Eco1_User;
logBoardStackupWarning( curLayer.Name, kicadLayerID );
break;
default:
wxFAIL_MSG( "Unknown CADSTAR Layer Sub-type" );
break;
@ -499,7 +517,11 @@ void CADSTAR_PCB_ARCHIVE_LOADER::remapUnsureLayers()
//Only remap layers that we aren't sure about
if( curLayer->Type == LAYER_TYPE::DOC
|| ( curLayer->Type == LAYER_TYPE::NONELEC
&& curLayer->SubType == LAYER_SUBTYPE::LAYERSUBTYPE_NONE ) )
&& curLayer->SubType == LAYER_SUBTYPE::LAYERSUBTYPE_NONE )
|| ( curLayer->Type == LAYER_TYPE::NONELEC
&& curLayer->SubType == LAYER_SUBTYPE::LAYERSUBTYPE_ROUT )
|| ( curLayer->Type == LAYER_TYPE::NONELEC
&& curLayer->SubType == LAYER_SUBTYPE::LAYERSUBTYPE_CLEARANCE ) )
{
INPUT_LAYER_DESC iLdesc;
iLdesc.Name = curLayer->Name;

View File

@ -533,6 +533,14 @@ void CADSTAR_PCB_ARCHIVE_PARSER::LAYER::Parse( XNODE* aNode )
{
this->SubType = LAYER_SUBTYPE::LAYERSUBTYPE_SOLDERRESIST;
}
else if( sSubType == wxT( "LAYERSUBTYPE_CLEARANCE" ) )
{
this->SubType = LAYER_SUBTYPE::LAYERSUBTYPE_CLEARANCE;
}
else if( sSubType == wxT( "LAYERSUBTYPE_ROUT" ) )
{
this->SubType = LAYER_SUBTYPE::LAYERSUBTYPE_ROUT;
}
else
{
THROW_UNKNOWN_PARAMETER_IO_ERROR(

View File

@ -123,7 +123,9 @@ public:
LAYERSUBTYPE_PLACEMENT,
LAYERSUBTYPE_ASSEMBLY,
LAYERSUBTYPE_SOLDERRESIST,
LAYERSUBTYPE_PASTE
LAYERSUBTYPE_PASTE,
LAYERSUBTYPE_CLEARANCE,
LAYERSUBTYPE_ROUT,
};