diff --git a/EExExport3dm.h b/EExExport3dm.h new file mode 100644 index 0000000..3164f4a --- /dev/null +++ b/EExExport3dm.h @@ -0,0 +1,40 @@ +//---------------------------------------------------------------------------- +// EgalTech 2023 +//---------------------------------------------------------------------------- +// File : EExExport3dm.h Data : 21.09.23 Versione : +// Contenuto : Dichiarazione della interfaccia IExport3dm. +// +// +// +// Modifiche : 21.09.23 DB Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkGeomDB.h" +#include "/EgtDev/Include/EExExportConst.h" +#include + +//----------------------- Macro per import/export ---------------------------- +#undef EEK_EXPORT +#if defined( I_AM_EEX) // da definirsi solo nella DLL +#define EEX_EXPORT __declspec( dllexport) +#else +#define EEX_EXPORT __declspec( dllimport) +#endif + +//----------------------------------------------------------------------------- +class __declspec( novtable) IExport3dm +{ +public : + virtual ~IExport3dm( void) {} + virtual bool SetOptions( int nFilter) = 0 ; + virtual bool Export( IGeomDB* pGDB, int nId, const std::string& sFile) = 0 ; +} ; + +//----------------------------------------------------------------------------- +extern "C" { + EEX_EXPORT IExport3dm* CreateExport3dm(void) ; +} diff --git a/EXeConst.h b/EXeConst.h index 446021e..46695c7 100644 --- a/EXeConst.h +++ b/EXeConst.h @@ -29,6 +29,7 @@ enum FileType { FT_NULL = 0, FT_BTLX = 19, FT_3MF = 20, FT_OBJ = 21, + FT_3DM = 22 , FT_IGES = 31, FT_STEP = 32, FT_ACIS = 33, diff --git a/EXeExecutor.h b/EXeExecutor.h index 786cec5..5cae25f 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -126,6 +126,7 @@ EXE_EXPORT bool ExeAdvancedImport( const std::string& sFilePath, double dToler = EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath, int nFlag = 1, int nFilter = 393) ; EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExport3MF( int nId, const std::string& sFilePath, int nFilter = 393) ; +EXE_EXPORT bool ExeExport3dm( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExportSvg( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeSetThreeJSLibDir( const std::string & sThreeJSLibDir) ; EXE_EXPORT bool ExeExportThreeJS( int nId, const std::string& sFilePath, int nFilter = 393) ;