EgtMachKernel :
- in PocketingNT nel caso di lavorazioni in doppio, si evita il movimento in rapido di risalita nella retroazione - in PocketingNT il flag 404 viene messo per lavorazioni in doppio.
This commit is contained in:
+9
-5
@@ -5617,9 +5617,13 @@ PocketingNT::AddPocket( STEPINFOPOVECTOR& vStepInfo, const Vector3d& vtTool, dou
|
||||
Vector3d vtEscape ;
|
||||
if ( ! CalcLastElevation( ptP1, vtTool, currStep, dSafeZ, dStep, dLastElev, dEscapeElev, vtEscape))
|
||||
return false ;
|
||||
// -->! se lavorazione in doppio, l'approccio diventa uguale alla SafeZ !<--
|
||||
// -->! (in questo modo si evita il movimento lineare finale) !<--
|
||||
if ( bDouble)
|
||||
dAppr = dSafeZ ;
|
||||
if ( dEscapeElev > 10. * EPS_SMALL && vtEscape.Len() > 10. * EPS_SMALL) {
|
||||
AddLinearMove( ptP1 + vtTool * dLastElev, bSplitArcs) ;
|
||||
if ( ! AddRetract( ptP1 + vtTool * dLastElev, vtEscape, dSafeZ, dSafeAggrBottZ, dEscapeElev, dAppr, bSplitArcs, bDoubleParallel)) {
|
||||
if ( ! AddRetract( ptP1 + vtTool * dLastElev, vtEscape, dSafeZ, dSafeAggrBottZ, dEscapeElev, dAppr, bSplitArcs, bDouble)) {
|
||||
m_pMchMgr->SetLastError( 2417, "Error in PocketingNT : Retract not computable") ;
|
||||
return false ;
|
||||
}
|
||||
@@ -5628,7 +5632,7 @@ PocketingNT::AddPocket( STEPINFOPOVECTOR& vStepInfo, const Vector3d& vtTool, dou
|
||||
// aggiungo retroazione finale
|
||||
if ( currPath.bToolCompensation && dLastElev < EPS_SMALL)
|
||||
dLastElev = currStep.dDepth ;
|
||||
if ( ! AddRetract( ptP1, vtTool, dSafeZ, dSafeAggrBottZ, dLastElev, dAppr, bSplitArcs, bDoubleParallel)) {
|
||||
if ( ! AddRetract( ptP1, vtTool, dSafeZ, dSafeAggrBottZ, dLastElev, dAppr, bSplitArcs, bDouble)) {
|
||||
m_pMchMgr->SetLastError( 2417, "Error in PocketingNT : Retract not computable") ;
|
||||
return false ;
|
||||
}
|
||||
@@ -6250,7 +6254,7 @@ PocketingNT::AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
PocketingNT::AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dSafeAggrBottZ,
|
||||
double dElev, double dAppr, bool bSplitArcs, bool bDoubleParallel)
|
||||
double dElev, double dAppr, bool bSplitArcs, bool bDouble)
|
||||
{
|
||||
// se con aggregato da sotto o equivalente (rinvio a 90 gradi su testa 5 assi)
|
||||
bool bBottomOutStart = false ;
|
||||
@@ -6261,7 +6265,7 @@ PocketingNT::AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSaf
|
||||
dDistBottom = 0 ;
|
||||
bBottomOutStart = ( dDistBottom < - 10 * EPS_SMALL) ;
|
||||
}
|
||||
if ( bDoubleParallel)
|
||||
if ( bDouble)
|
||||
SetFlag( 404) ;
|
||||
// se sopra uscita c'è spazio per sicurezza o approccio
|
||||
double dSafeDist = ( m_bAggrBottom ? dSafeAggrBottZ : dSafeZ) ;
|
||||
@@ -6312,7 +6316,7 @@ PocketingNT::AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSaf
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
if ( bDoubleParallel)
|
||||
if ( bDouble)
|
||||
SetFlag( 0) ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
+1
-1
@@ -156,7 +156,7 @@ class PocketingNT : public Machining
|
||||
bool AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dSafeAggrBottZ,
|
||||
double dElev, double dAppr, bool bSplitArcs) ;
|
||||
bool AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dSafeAggrBottZ,
|
||||
double dElev, double dAppr, bool bSplitArcs, bool bDoubleParallel) ;
|
||||
double dElev, double dAppr, bool bSplitArcs, bool bDouble) ;
|
||||
bool CalcFirstElevation( const Point3d& ptP1, const Vector3d& vtTool,
|
||||
const StepInfoPO& currStep, double dSafeZ, double dStep, double& dCurrElev,
|
||||
double& dEscapeElev, Vector3d& vtEscape) const ;
|
||||
|
||||
Reference in New Issue
Block a user