CADSTAR Archive Importer: Only load the Master variant
This commit is contained in:
parent
e3334cd25c
commit
71f9847601
|
@ -92,9 +92,10 @@ void CADSTAR_SCH_ARCHIVE_LOADER::Load( ::SCHEMATIC* aSchematic, ::SCH_SHEET* aRo
|
|||
|
||||
if( Schematic.VariantHierarchy.Variants.size() > 0 )
|
||||
{
|
||||
wxLogWarning(
|
||||
_( "The CADSTAR design contains variants which has no KiCad equivalent. All "
|
||||
"components have been loaded on top of each other. " ) );
|
||||
wxLogWarning( wxString::Format(
|
||||
_( "The CADSTAR design contains variants which has no KiCad equivalent. Only "
|
||||
"the master variant ('%s') was loaded." ),
|
||||
Schematic.VariantHierarchy.Variants.at( "V0" ).Name ) );
|
||||
}
|
||||
|
||||
if( Schematic.Groups.size() > 0 )
|
||||
|
@ -317,6 +318,9 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances()
|
|||
{
|
||||
SYMBOL sym = symPair.second;
|
||||
|
||||
if( !sym.VariantID.empty() && sym.VariantParentSymbolID != sym.ID )
|
||||
continue; // Only load master Variant
|
||||
|
||||
if( sym.IsComponent )
|
||||
{
|
||||
if( mPartMap.find( sym.PartRef.RefID ) == mPartMap.end() )
|
||||
|
|
|
@ -650,8 +650,8 @@ void CADSTAR_SCH_ARCHIVE_PARSER::SYMBOL::Parse( XNODE* aNode )
|
|||
}
|
||||
else if( cNodeName == wxT( "VSYMMASTER" ) )
|
||||
{
|
||||
VariantParentSymbolID = GetXmlAttributeIDString( aNode, 0 );
|
||||
VariantID = GetXmlAttributeIDString( aNode, 1 );
|
||||
VariantParentSymbolID = GetXmlAttributeIDString( cNode, 0 );
|
||||
VariantID = GetXmlAttributeIDString( cNode, 1 );
|
||||
}
|
||||
else if( cNodeName == wxT( "GROUPREF" ) )
|
||||
{
|
||||
|
|
|
@ -107,9 +107,10 @@ void CADSTAR_PCB_ARCHIVE_LOADER::Load( ::BOARD* aBoard )
|
|||
|
||||
if( Layout.VariantHierarchy.Variants.size() > 0 )
|
||||
{
|
||||
wxLogWarning(
|
||||
_( "The CADSTAR design contains variants which has no KiCad equivalent. All "
|
||||
"components have been loaded on top of each other. " ) );
|
||||
wxLogWarning( wxString::Format(
|
||||
_( "The CADSTAR design contains variants which has no KiCad equivalent. Only "
|
||||
"the master variant ('%s') was loaded." ),
|
||||
Layout.VariantHierarchy.Variants.at( "V0" ).Name ) );
|
||||
}
|
||||
|
||||
if( Layout.ReuseBlocks.size() > 0 )
|
||||
|
@ -1194,6 +1195,9 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadComponents()
|
|||
{
|
||||
COMPONENT& comp = compPair.second;
|
||||
|
||||
if( !comp.VariantID.empty() && comp.VariantParentComponentID != comp.ID )
|
||||
continue; // Only load master Variant
|
||||
|
||||
auto fpIter = mLibraryMap.find( comp.SymdefID );
|
||||
|
||||
if( fpIter == mLibraryMap.end() )
|
||||
|
|
|
@ -1846,8 +1846,8 @@ void CADSTAR_PCB_ARCHIVE_PARSER::COMPONENT::Parse( XNODE* aNode )
|
|||
}
|
||||
else if( cNodeName == wxT( "VCOMPMASTER" ) )
|
||||
{
|
||||
VariantParentComponentID = GetXmlAttributeIDString( aNode, 0 );
|
||||
VariantID = GetXmlAttributeIDString( aNode, 1 );
|
||||
VariantParentComponentID = GetXmlAttributeIDString( cNode, 0 );
|
||||
VariantID = GetXmlAttributeIDString( cNode, 1 );
|
||||
}
|
||||
else if( cNodeName == wxT( "TEXTLOC" ) )
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue