diff --git a/EGkOffsetCurveOnX.h b/EGkOffsetCurveOnX.h new file mode 100644 index 0000000..8ddf512 --- /dev/null +++ b/EGkOffsetCurveOnX.h @@ -0,0 +1,38 @@ +//---------------------------------------------------------------------------- +// EgalTech 2016-2016 +//---------------------------------------------------------------------------- +// File : EGkOffsetCurveOnX.h Data : 02.04.16 Versione : 1.6o4 +// Contenuto : Dichiarazione classe per offset di ICurve lungo la sola X. +// +// +// Modifiche : 02.04.16 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkCurve.h" + +//----------------------- Macro per import/export ---------------------------- +#undef EGK_EXPORT +#if defined( I_AM_EGK) // da definirsi solo nella DLL + #define EGK_EXPORT __declspec( dllexport) +#else + #define EGK_EXPORT __declspec( dllimport) +#endif + +//---------------------------------------------------------------------------- +class OffsetCurveOnX +{ + public : + EGK_EXPORT ~OffsetCurveOnX( void) ; + + public : + EGK_EXPORT bool Make( const ICurve* pCrv, double dDist) ; + EGK_EXPORT ICurve* GetCurve( void) ; + EGK_EXPORT ICurve* GetLongerCurve( void) ; + + private : + ICURVEPLIST m_CrvLst ; +} ; \ No newline at end of file diff --git a/EInAPI.h b/EInAPI.h index 019441e..9fc152b 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -593,6 +593,8 @@ EIN_EXPORT int __stdcall EgtGetFirstOperation( void) ; EIN_EXPORT int __stdcall EgtGetNextOperation( int nId) ; EIN_EXPORT int __stdcall EgtGetOperationType( int nId) ; EIN_EXPORT int __stdcall EgtGetOperationPhase( int nId) ; +EIN_EXPORT BOOL __stdcall EgtGetOperationName( int nId, wchar_t*& wsName) ; +EIN_EXPORT int __stdcall EgtGetOperationId( const wchar_t* wsName) ; EIN_EXPORT BOOL __stdcall EgtRemoveOperation( int nId) ; EIN_EXPORT BOOL __stdcall EgtRemoveAllPhaseOperations( int nPhase) ; EIN_EXPORT BOOL __stdcall EgtRemoveAllOperations( void) ; @@ -605,11 +607,14 @@ EIN_EXPORT BOOL __stdcall EgtSetAllOperationsStatus( BOOL bShow) ; EIN_EXPORT BOOL __stdcall EgtChangeOperationPhase( int nId, int nNewPhase) ; EIN_EXPORT int __stdcall EgtGetPhaseDisposition( int nPhase) ; // Machinings +EIN_EXPORT int __stdcall EgtAddMachining( const wchar_t* wsName, const wchar_t* wsMachining) ; +EIN_EXPORT int __stdcall EgtCreateMachining( const wchar_t* wsName, int nMchType, const wchar_t* wsTool) ; EIN_EXPORT BOOL __stdcall EgtSetCurrMachining( int nId) ; EIN_EXPORT int __stdcall EgtGetCurrMachining( void) ; EIN_EXPORT BOOL __stdcall EgtSetMachiningParamInt( int nType, int nVal) ; EIN_EXPORT BOOL __stdcall EgtSetMachiningParamDouble( int nType, double dVal) ; EIN_EXPORT BOOL __stdcall EgtSetMachiningParamString( int nType, const wchar_t* wsVal) ; +EIN_EXPORT BOOL __stdcall EgtSetMachiningGeometry( int nNumId, const int nIds[], const int nSubs[]) ; EIN_EXPORT BOOL __stdcall EgtPreviewMachining( BOOL bRecalc) ; EIN_EXPORT BOOL __stdcall EgtApplyMachining( BOOL bRecalc) ; EIN_EXPORT BOOL __stdcall EgtGetMachiningParamInt( int nType, int* pnVal) ; diff --git a/EMkMachMgr.h b/EMkMachMgr.h index 460f14a..452bd52 100644 --- a/EMkMachMgr.h +++ b/EMkMachMgr.h @@ -161,6 +161,7 @@ class __declspec( novtable) IMachMgr virtual int GetPhaseDisposition( int nPhase) const = 0 ; // Operations : machinings virtual int AddMachining( const std::string& sName, const std::string& sMachining) = 0 ; + virtual int AddMachining( const std::string& sName, int nMchType, const std::string& sTool) = 0 ; virtual bool SetCurrMachining( int nId) = 0 ; virtual bool ResetCurrMachining( void) = 0 ; virtual int GetCurrMachining( void) const = 0 ; diff --git a/EMkMachiningConst.h b/EMkMachiningConst.h index d56c9e0..4d5b1a8 100644 --- a/EMkMachiningConst.h +++ b/EMkMachiningConst.h @@ -40,7 +40,9 @@ enum MachiningType { MT_SAWING = OPER_SAWING, MT_MILLING = OPER_MILLING, MT_POCKETING = OPER_POCKETING, - MT_MORTISING = OPER_MORTISING + MT_MORTISING = OPER_MORTISING, + MT_SAWROUGHING = OPER_SAWROUGHING, + MT_SAWFINISHING = OPER_SAWFINISHING } ; //---------------------------------------------------------------------------- @@ -62,6 +64,7 @@ enum MpaType { MPA_NONE = 0, MPA_CURVEUSE = ( MPA_INT + 6), MPA_STEPTYPE = ( MPA_INT + 7), MPA_SUBTYPE = ( MPA_INT + 8), + MPA_LEADLINKTYPE = ( MPA_INT + 9), MPA_SPEED = ( MPA_DOU + 0), MPA_FEED = ( MPA_DOU + 1), MPA_STARTFEED = ( MPA_DOU + 2), @@ -96,6 +99,7 @@ enum MpaType { MPA_NONE = 0, MPA_OFFSET = ( MPA_DOU + 31), // per forature solo set, get con MPA_OFFSET_STR MPA_STEPEXTARC = ( MPA_DOU + 32), MPA_STEPINTARC = ( MPA_DOU + 33), + MPA_SIDESTEP = ( MPA_DOU + 34), MPA_NAME = ( MPA_STR + 0), MPA_TOOL = ( MPA_STR + 1), MPA_DEPTH_STR = ( MPA_STR + 2), @@ -110,21 +114,21 @@ enum MpaType { MPA_NONE = 0, // Parametri per foratura // Sottotipo enum { DRI_SUB_STD = 0, - DRI_SUB_ALONG_CURVE = 1 } ; + DRI_SUB_ALONG_CURVE = 1} ; //---------------------------------------------------------------------------- // Parametri per lavorazione con lama // Lato di lavoro enum { SAW_WS_CENTER = 0, SAW_WS_LEFT = 1, - SAW_WS_RIGHT = 2 } ; + SAW_WS_RIGHT = 2} ; // Lato di posizionamento della testa enum { SAW_HS_LEFT = 1, - SAW_HS_RIGHT = 2 } ; + SAW_HS_RIGHT = 2} ; // Tipo di lavorazione a step enum { SAW_ST_ZIGZAG = 0, SAW_ST_ONEWAY = 1, - SAW_ST_TOANDFROM = 2 } ; + SAW_ST_TOANDFROM = 2} ; // Tipo di attacco enum { SAW_LI_CENT = 0, SAW_LI_STRICT = 1, @@ -151,19 +155,44 @@ enum { SAW_CRV_SKIP = 0, // Lato di lavoro enum { MILL_WS_CENTER = 0, MILL_WS_LEFT = 1, - MILL_WS_RIGHT = 2 } ; + MILL_WS_RIGHT = 2} ; // Tipo di lavorazione a step enum { MILL_ST_ZIGZAG = 0, MILL_ST_ONEWAY = 1, - MILL_ST_SPIRAL = 2 } ; + MILL_ST_SPIRAL = 2} ; // Tipo di attacco enum { MILL_LI_NONE = 0, MILL_LI_LINEAR = 1, MILL_LI_TANGENT = 2, - MILL_LI_GLIDE = 3 } ; + MILL_LI_GLIDE = 3} ; // Tipo di uscita enum { MILL_LO_NONE = 0, MILL_LO_LINEAR = 1, MILL_LO_TANGENT = 2, MILL_LO_GLIDE = 3, MILL_LO_AS_LI = 4} ; + +//---------------------------------------------------------------------------- +// Parametri per sgrossatura con lama +// Lato di posizionamento della testa +enum { SAWROU_HS_LEFT = 1, + SAWROU_HS_RIGHT = 2} ; +// Tipo di lavorazione a step +enum { SAWROU_ST_ZIGZAG = 0, + SAWROU_ST_ONEWAY = 1} ; +// Tipo di attacco/uscita/link +enum { SAWROU_LL_CENT = 0, + SAWROU_LL_OUT = 1} ; + +//---------------------------------------------------------------------------- +// Parametri per finitura con lama +// Lato di posizionamento della testa +enum { SAWFIN_HS_LEFT = 1, + SAWFIN_HS_RIGHT = 2} ; +// Tipo di lavorazione a step +enum { SAWFIN_ST_ZIGZAG = 0, + SAWFIN_ST_ONEWAY = 1} ; +// Tipo di attacco/uscita/link +enum { SAWFIN_LL_STD = 0, + SAWFIN_LL_CENT = 1, + SAWFIN_LL_OUT = 2} ; diff --git a/EMkOperationConst.h b/EMkOperationConst.h index f30d4c8..5e4aad7 100644 --- a/EMkOperationConst.h +++ b/EMkOperationConst.h @@ -1,26 +1,28 @@ //---------------------------------------------------------------------------- -// EgalTech 2015-2015 +// EgalTech 2015-2016 //---------------------------------------------------------------------------- -// File : EmkOperationConst.h Data : 12.10.15 Versione : 1.6j2 +// File : EmkOperationConst.h Data : 30.03.16 Versione : 1.6o4 // Contenuto : Costanti delle operazioni. // // // // Modifiche : 12.10.15 DS Creazione modulo. -// +// 30.03.16 DS Agg SawRoughing. // //---------------------------------------------------------------------------- #pragma once //------------------------ Costanti per tipo Operazioni ----------------------- -enum OperType { OPER_NULL = 0, // nulla - OPER_DISP = 256, // disposizione ( 256) - OPER_DRILLING = 512, // foratura ( 512) - OPER_SAWING = 1024, // taglio di lama (1024) - OPER_MILLING = 2048, // fresatura (2048) - OPER_POCKETING = 4096, // svuotatura (4096) - OPER_MORTISING = 8192} ; // mortasatura (8192) +enum OperType { OPER_NULL = 0, // nulla + OPER_DISP = 256, // disposizione + OPER_DRILLING = 512, // foratura + OPER_SAWING = 1024, // taglio di lama + OPER_MILLING = 2048, // fresatura + OPER_POCKETING = 4096, // svuotatura + OPER_MORTISING = 8192, // mortasatura + OPER_SAWROUGHING = 16384, // sgrossatura con lama + OPER_SAWFINISHING = 32768} ; // finitura con lama // Controllo tipo valido bool inline IsValidDispositionType( int nType) { @@ -30,5 +32,6 @@ bool inline IsValidMachiningType( int nType) { return ( nType == OPER_DRILLING || nType == OPER_SAWING || nType == OPER_MILLING || nType == OPER_POCKETING || - nType == OPER_MORTISING) ; + nType == OPER_MORTISING || nType == OPER_SAWROUGHING || + nType == OPER_SAWFINISHING) ; } diff --git a/EXeExecutor.h b/EXeExecutor.h index e8ec030..f168365 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -396,6 +396,8 @@ EXE_EXPORT bool ExeTrimExtendCurveByLen( int nId, double dLen, const Point3d& pt EXE_EXPORT int ExeTrimCurveWithRegion( int nCrvId, int nRegId, bool bInVsOut, bool bOn, int* pnCount) ; EXE_EXPORT int ExeSplitCurve( int nId, int nParts) ; EXE_EXPORT int ExeSplitCurveAtPoint( int nId, const Point3d& ptOn, int nRefType) ; +EXE_EXPORT int ExeSplitCurveAtParam( int nId, double dParam) ; +EXE_EXPORT int ExeSplitCurveAtCorners( int nId, double dTgAngToler, int* pnCount) ; EXE_EXPORT int ExeSplitCurveAtSelfInters( int nId, int* pnCount) ; EXE_EXPORT bool ExeModifyCircleCP( int nId, const Point3d& ptOn, int nRefType) ; EXE_EXPORT bool ExeModifyArcRadius( int nId, double dRad) ; @@ -632,6 +634,8 @@ EXE_EXPORT int ExeGetFirstOperation( void) ; EXE_EXPORT int ExeGetNextOperation( int nId) ; EXE_EXPORT int ExeGetOperationType( int nId) ; EXE_EXPORT int ExeGetOperationPhase( int nId) ; +EXE_EXPORT bool ExeGetOperationName( int nId, std::string& sName) ; +EXE_EXPORT int ExeGetOperationId( const std::string& sName) ; EXE_EXPORT bool ExeRemoveOperation( int nId) ; EXE_EXPORT bool ExeRemoveAllPhaseOperations( int nPhase) ; EXE_EXPORT bool ExeRemoveAllOperations( void) ; @@ -645,6 +649,7 @@ EXE_EXPORT bool ExeChangeOperationPhase( int nId, int nNewPhase) ; EXE_EXPORT int ExeGetPhaseDisposition( int nPhase) ; // Machinings EXE_EXPORT int ExeAddMachining( const std::string& sName, const std::string& sMachining) ; +EXE_EXPORT int ExeAddMachining( const std::string& sName, int nMchType, const std::string& sTool) ; EXE_EXPORT bool ExeSetCurrMachining( int nId) ; EXE_EXPORT bool ExeResetCurrMachining( void) ; EXE_EXPORT int ExeGetCurrMachining( void) ;