diff --git a/EXE_Exchange.cpp b/EXE_Exchange.cpp index 0b2b413..853c666 100644 --- a/EXE_Exchange.cpp +++ b/EXE_Exchange.cpp @@ -449,8 +449,11 @@ ExeImport3dm( const string& sFilePath) { GseContext* pGseCtx = GetCurrGseContext() ; VERIFY_CTX_GEOMDB( pGseCtx, false) - bool bOk = true ; + // se necessario, carico libreria exchange 3dm opzionale + if ( ! IsLoadedExch3dmDll() && LoadExch3dmDll( GetLogger(), ExeGetKey(), ExeGetNetHwKey())) + LOG_INFO( GetLogger(), MyGetEE3Version()) // importo il file 3dm + bool bOk = true ; // preparo l'importatore PtrOwner pImp3dm( MyCreateImport3dm()) ; bOk = bOk && ! IsNull( pImp3dm) ; @@ -678,8 +681,11 @@ ExeExport3dm( int nId, const string& sFilePath, int nFilter) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - bool bOk = true ; + // se necessario, carico libreria exchange 3dm opzionale + if ( ! IsLoadedExch3dmDll() && LoadExch3dmDll( GetLogger(), ExeGetKey(), ExeGetNetHwKey())) + LOG_INFO( GetLogger(), MyGetEE3Version()) // esporto il file 3dm + bool bOk = true ; // preparo l'esportatore PtrOwner pExp3dm( MyCreateExport3dm()) ; bOk = bOk && ! IsNull( pExp3dm) ; diff --git a/EXE_General.cpp b/EXE_General.cpp index 29cd10a..8e6280e 100644 --- a/EXE_General.cpp +++ b/EXE_General.cpp @@ -118,9 +118,8 @@ ExeInit( int nDebug, const string& sLogFile, const string& sLogMsg) if ( LoadExchangeDll( s_pGenLog, s_sKey, s_bNetHwKey)) LOG_INFO( s_pGenLog, MyGetEExVersion()) - // carico libreria exchange 3dm opzionale - if ( LoadExch3dmDll( s_pGenLog, s_sKey, s_bNetHwKey)) - LOG_INFO( s_pGenLog, MyGetEE3Version()) + // la libreria exchange 3dm opzionale viene caricata solo al momento del bisogno + // (è molto lento il caricamento di OpenNurbs) // carico libreria di lavorazione opzionale if ( LoadMachKernelDll( s_pGenLog, s_sKey, s_bNetHwKey)) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 56c1f62..417933e 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ