diff --git a/EInAPI.h b/EInAPI.h index 77e0fc1..d9073bd 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -378,6 +378,7 @@ EIN_EXPORT BOOL __stdcall EgtModifyArcRadius( int nId, double dRad) ; EIN_EXPORT BOOL __stdcall EgtModifyArcC2P( int nId, const double ptEnd[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyArc3P( int nId, const double ptMid[3], int nRefType) ; EIN_EXPORT int __stdcall EgtExplodeCurveCompo( int nId, int* pnCount) ; +EIN_EXPORT BOOL __stdcall EgtMergeCurvesInCurveCompo( int nId, double dLinTol) ; // GeomDb Surf Modify EIN_EXPORT BOOL __stdcall EgtInvertSurface( int nId) ; @@ -544,6 +545,9 @@ EIN_EXPORT BOOL __stdcall EgtSimSetStep( double dStep) ; EIN_EXPORT BOOL __stdcall EgtSimStop( void) ; // Generation EIN_EXPORT BOOL __stdcall EgtGenerate( const wchar_t* wsCncFile, const wchar_t* wsInfo) ; +// Machine Calc +EIN_EXPORT BOOL __stdcall EgtGetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB, + BOOL bBottom, double ptTip[3]) ; // Scene EIN_EXPORT BOOL __stdcall EgtInitScene( HWND hWnd, int nDriver, BOOL b2Buff, int nColorBits, int nDepthBits) ; diff --git a/EMkMachMgr.h b/EMkMachMgr.h index b60e08b..f612da5 100644 --- a/EMkMachMgr.h +++ b/EMkMachMgr.h @@ -161,6 +161,8 @@ class __declspec( novtable) IMachMgr int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) = 0 ; virtual bool GetCalcPositions( const Point3d& ptP, double dAngA, double dAngB, int& nStat, double& dX, double& dY, double& dZ) = 0 ; + virtual bool GetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB, + bool bBottom, Point3d& ptTip) = 0 ; virtual bool GetNearestAngleInStroke( int nId, double dAngRef, double& dAng) = 0 ; virtual bool VerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) = 0 ; // Machine Move diff --git a/EXeExecutor.h b/EXeExecutor.h index 8914c2c..7531832 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -584,6 +584,8 @@ EXE_EXPORT bool ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) ; EXE_EXPORT bool ExeGetCalcPositions( const Point3d& ptP, double dAngA, double dAngB, int& nStat, double& dX, double& dY, double& dZ) ; +EXE_EXPORT bool ExeGetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB, + bool bBottom, Point3d& ptTip) ; EXE_EXPORT bool ExeVerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) ; // Machine Move EXE_EXPORT bool ExeSetAxisPos( const std::string& sAxis, double dVal) ;