diff --git a/eeschema/sim/sim_model.cpp b/eeschema/sim/sim_model.cpp index 6695618f9e..2b82423f4f 100644 --- a/eeschema/sim/sim_model.cpp +++ b/eeschema/sim/sim_model.cpp @@ -1591,19 +1591,6 @@ void SIM_MODEL::MigrateSimModel( T_symbol& aSymbol, const PROJECT* aProject ) { spiceModelInfo = FIELD_INFO( getSIValue( modelField ), modelField ); aSymbol.RemoveField( modelField ); - - if( spiceModelInfo.m_Text.Contains( ' ' ) ) - { - wxString params; - - spiceModelInfo.m_Text = spiceModelInfo.m_Text.BeforeFirst( ' ', ¶ms ); - - if( !params.Trim( false ).IsEmpty() ) - { - spiceParamsInfo = spiceModelInfo; - spiceParamsInfo.m_Text = params.Trim( false ); - } - } } else { @@ -1807,12 +1794,18 @@ void SIM_MODEL::MigrateSimModel( T_symbol& aSymbol, const PROJECT* aProject ) T_field libraryField = spiceLibInfo.CreateField( &aSymbol, SIM_LIBRARY_FIELD ); aSymbol.AddField( libraryField ); + // Split library model name from any following parameters + wxString modelLineParams; + spiceModelInfo.m_Text = spiceModelInfo.m_Text.BeforeFirst( ' ', &modelLineParams ); + T_field nameField = spiceModelInfo.CreateField( &aSymbol, SIM_NAME_FIELD ); aSymbol.AddField( nameField ); - // Don't write a paramsField unless we actually have overrides - if( !spiceParamsInfo.IsEmpty() ) + if( !modelLineParams.IsEmpty() ) { + spiceParamsInfo = spiceModelInfo; + spiceParamsInfo.m_Text = modelLineParams; + T_field paramsField = spiceParamsInfo.CreateField( &aSymbol, SIM_PARAMS_FIELD ); aSymbol.AddField( paramsField ); }