diff --git a/EXE_GeomDB.cpp b/EXE_GeomDB.cpp index 9b23606..5057fc1 100644 --- a/EXE_GeomDB.cpp +++ b/EXE_GeomDB.cpp @@ -514,8 +514,13 @@ ExeSaveMachGroupToFile( int nMGroupId, const string& sFilePath, int nFlag) while ( nRawId != GDB_ID_NULL) { int nPartId = pMachMgr->GetFirstPartInRawPart( nRawId) ; while ( nPartId != GDB_ID_NULL) { - if ( find( vId.begin(), vId.end(), nPartId) == vId.end()) + if ( find( vId.begin(), vId.end(), nPartId) == vId.end()) { vId.emplace_back( nPartId) ; + // potrebbe essere un duplicato, recupero eventuale originale + int nOrigId = GDB_ID_NULL ; pGeomDB->GetInfo( nPartId, GDB_SI_DUPSOU, nOrigId) ; + if ( ExeIsPart( nOrigId) && find( vId.begin(), vId.end(), nOrigId) == vId.end()) + vId.emplace_back( nOrigId) ; + } nPartId = pMachMgr->GetNextPartInRawPart( nPartId) ; } nRawId = pMachMgr->GetNextRawPart( nRawId) ; diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 1b2f3ce..b486e56 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ