diff --git a/SurfRoughing.cpp b/SurfRoughing.cpp index c482a3c..690f5c5 100644 --- a/SurfRoughing.cpp +++ b/SurfRoughing.cpp @@ -2082,7 +2082,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co Point3d ptMyPos ; GetCurrPos( ptMyPos) ; double dMyElev = ( bAbsFirst ? dCurrElev : ( ptMyPos - ptP1) * vtTool) ; double dMyAppr = ( bAbsFirst ? dAppr : 0.) ; - if ( ! AddApproach( ptP1, vtTool, dMySafeZ, dMyElev, dMyAppr)) { + if ( ! AddApproach( ptP1, vtTool, dMySafeZ, dMyElev, dMyAppr, currPath.bOutStart)) { m_pMchMgr->SetLastError( 3011, "Error in SurfRoughing : Approach not computable") ; return false ; } @@ -2203,12 +2203,15 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co } } + // aggiorno per sicurezza la ProgressBar nel caso di Step vuoti + ExeProcessEvents( 100, 100) ; return true ; } //---------------------------------------------------------------------------- bool -SurfRoughing::AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) +SurfRoughing::AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, + double dAppr, bool bOutStart) { SetFlag( 1) ; // se sopra attacco c'รจ spazio per sicurezza o approccio @@ -2236,7 +2239,8 @@ SurfRoughing::AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dS } // affondo al punto iniziale SetFlag( 0) ; - SetFeed( GetTipFeed()) ; + bool bStartFeed = ( bOutStart || m_TParams.m_nType == TT_MILL_NOTIP) ; + SetFeed( bStartFeed ? GetStartFeed() : GetTipFeed()) ; if ( AddLinearMove( ptP) == GDB_ID_NULL) return false ; } diff --git a/SurfRoughing.h b/SurfRoughing.h index ee7f6b5..5cd9893 100644 --- a/SurfRoughing.h +++ b/SurfRoughing.h @@ -107,7 +107,7 @@ class SurfRoughing : public Machining bool CalcPaths( const INTINTVECTOR& vPocket, const ICRVCOMPOPOVECTOR& vCrvPocketCompo, STEPINFOSRVECTOR& vStepInfo) const ; bool AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const ICRVCOMPOPOVECTOR& vCrvPocketCompo, double dElev, double dStep, double dSubStep, bool bSplitArcs) ; - bool AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ; + bool AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr, bool bOutStart) ; bool AddLinkApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr, bool bOutMove) ; bool AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ; bool AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;