Fix sheetPath handling in SPICE model generation.

This commit is contained in:
Jeff Young 2023-04-28 16:19:14 +01:00
parent be657d947c
commit d5cb100f72
2 changed files with 9 additions and 16 deletions

View File

@ -213,26 +213,19 @@ bool NETLIST_EXPORTER_SPICE::ReadSchematicAndLibraries( unsigned aNetlistOptions
if( !symbol || symbol->GetExcludeFromSim() )
continue;
SPICE_ITEM spiceItem;
std::vector<PIN_INFO> pins = CreatePinList( symbol, &sheet, true );
SPICE_ITEM spiceItem;
for( int i = 0; i < symbol->GetFieldCount(); ++i )
for( const SCH_FIELD& field : symbol->GetFields() )
{
spiceItem.fields.emplace_back( VECTOR2I(), i, symbol,
symbol->GetFields()[ i ].GetName() );
spiceItem.fields.emplace_back( VECTOR2I(), -1, symbol, field.GetName() );
if( i == REFERENCE_FIELD )
if( field.GetId() == REFERENCE_FIELD )
spiceItem.fields.back().SetText( symbol->GetRef( &sheet ) );
else
spiceItem.fields.back().SetText( symbol->GetFields()[i].GetShownText( 0, false ) );
spiceItem.fields.back().SetText( field.GetShownText( &sheet, 0, false ) );
}
wxString deviceType;
wxString modelType;
wxString modelParams;
wxString pinMap;
readRefName( sheet, *symbol, spiceItem, refNames );
readModel( sheet, *symbol, spiceItem );
readPinNumbers( *symbol, spiceItem, pins );

View File

@ -193,14 +193,14 @@ SIM_LIBRARY::MODEL SIM_LIB_MGR::CreateModel( const SCH_SHEET_PATH* aSheetPath, S
std::vector<SCH_FIELD> fields;
for( int i = 0; i < aSymbol.GetFieldCount(); ++i )
for( const SCH_FIELD& field : aSymbol.GetFields() )
{
fields.emplace_back( VECTOR2I(), i, &aSymbol, aSymbol.GetFields()[ i ].GetName() );
fields.emplace_back( VECTOR2I(), -1, &aSymbol, field.GetName() );
if( i == REFERENCE_FIELD )
if( field.GetId() == REFERENCE_FIELD )
fields.back().SetText( aSymbol.GetRef( aSheetPath ) );
else
fields.back().SetText( aSymbol.GetFields()[ i ].GetShownText( 0, false ) );
fields.back().SetText( field.GetShownText( aSheetPath, 0, false ) );
}
wxString deviceType;