diff --git a/EGkPolyArc.h b/EGkPolyArc.h index 6565236..43e7c37 100644 --- a/EGkPolyArc.h +++ b/EGkPolyArc.h @@ -58,6 +58,8 @@ class PolyArc EGK_EXPORT bool Join( PolyArc& PA, double dOffsetPar = 0) ; EGK_EXPORT bool Split( double dU, PolyArc& PA) ; EGK_EXPORT bool IsClosed( void) const ; + EGK_EXPORT bool IsRectangleXY( BBox3d& b3Rect) const ; + EGK_EXPORT bool IsCircle( double dLinTol, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW) const ; EGK_EXPORT const Vector3d& GetExtrusion(void) const { return m_vtExtr ; } EGK_EXPORT int GetRejectedNbr( void) const diff --git a/EInAPI.h b/EInAPI.h index db204b8..c2d190d 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -586,7 +586,7 @@ EIN_EXPORT BOOL __stdcall EgtMoveToSnapPointOnCollision( int nId[], int nCount, EIN_EXPORT void __stdcall EgtSaveCollInfo( void) ; EIN_EXPORT void __stdcall EgtRestoreCollInfo( void) ; EIN_EXPORT BOOL __stdcall EgtGetPartClusterCenterGlob( int nId[], int nCount, double ptCen[3]) ; -EIN_EXPORT BOOL __stdcall EgtAutomaticPackParts( int nId[], int nCount, BOOL bMinimizeOnXvsY, BOOL bReducedCut, int nMaxTime) ; +EIN_EXPORT BOOL __stdcall EgtAutomaticPackParts( int nId[], int nCount, BOOL bMinimizeOnXvsY, BOOL bReducedCut, BOOL bGuillotineMode, int nMaxTime) ; EIN_EXPORT BOOL __stdcall EgtVerifyMachining( int nMchId, int* pnResult) ; EIN_EXPORT int __stdcall EgtVerifyCutAsSplitting( int nMchId) ; diff --git a/ENsAutoNester.h b/ENsAutoNester.h index cc50e8f..fe883ea 100644 --- a/ENsAutoNester.h +++ b/ENsAutoNester.h @@ -43,7 +43,8 @@ class __declspec( novtable) IAutoNester public : virtual ~IAutoNester( void) {} virtual bool Start( void) = 0 ; - virtual bool AddSheet( int nSheetId, const PolyArc& Outline, double dKerf, int nPriority, int nCount) = 0 ; + virtual bool SetGuillotineMode( void) = 0 ; + virtual bool AddSheet( int nSheetId, const PolyArc& Outline, double dKerf, int nPriority, int nCount, bool* pbIsRect = nullptr) = 0 ; virtual bool AddDefectToSheet( int nSheetId, const PolyArc& Outline) = 0 ; virtual bool AddPart( int nPartId, const PolyArc& Outline, bool bCanFlip, bool bCanRotate, double dRotStep, int nPriority, int nCount) = 0 ; virtual bool AddHoleToPart( int nPartId, const PolyArc& Hole) = 0 ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 2ebc2c7..3420b5e 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -685,13 +685,14 @@ EXE_EXPORT bool ExeMoveToSnapPointOnCollision( const INTVECTOR& vIds, bool bRedu EXE_EXPORT void ExeSaveCollInfo( void) ; EXE_EXPORT void ExeRestoreCollInfo( void) ; EXE_EXPORT bool ExeGetPartClusterCenterGlob( const INTVECTOR& vIds, Point3d& ptCen) ; -EXE_EXPORT bool ExeAutomaticPackParts( INTVECTOR& vIds, bool bMinimizeOnXvsY, bool bReducedCut, int nMaxTime) ; +EXE_EXPORT bool ExeAutomaticPackParts( INTVECTOR& vIds, bool bMinimizeOnXvsY, bool bReducedCut, bool bGuillotineMode, int nMaxTime) ; // Machining Nest EXE_EXPORT bool ExeVerifyMachining( int nMchId, int& nResult) ; EXE_EXPORT int ExeVerifyCutAsSplitting( int nMchId) ; // AutoNesting EXE_EXPORT bool ExeAutoNestStart( void) ; -EXE_EXPORT bool ExeAutoNestAddSheet( int nSheetId, int nOutlineId, double dKerf, int nPriority, int nCount) ; +EXE_EXPORT bool ExeAutoNestSetGuillotineMode( void) ; +EXE_EXPORT bool ExeAutoNestAddSheet( int nSheetId, int nOutlineId, double dKerf, int nPriority, int nCount, bool* pbIsRect = nullptr) ; EXE_EXPORT bool ExeAutoNestAddDefectToSheet( int nSheetId, int nDefectId) ; EXE_EXPORT bool ExeAutoNestAddPart( int nPartId, int nOutlineId, bool bCanFlip, bool bCanRotate, double dRotStep, int nPriority, int nCount) ; EXE_EXPORT bool ExeAutoNestAddHoleToPart( int nPartId, int nHoleId) ;