Merge remote-tracking branch 'origin/Sgrossature'

This commit is contained in:
Dario Sassi
2024-06-27 14:37:12 +02:00
2 changed files with 13 additions and 3 deletions
+12 -2
View File
@@ -1478,7 +1478,7 @@ SurfRoughing::ProcessPath( int nPathId, int nTempId, int nPvId, int nClId)
// Eseguo le svuotature
double dElev = dDepth ;
if ( ! AddPocket( vPocket, vtTool, vtExtr, dDepth, dElev, dStep, bSplitArcs))
if ( ! AddPocket( vPocket, vtTool, vtExtr, dElev, dStep, bSplitArcs))
return false ;
}
@@ -1672,7 +1672,7 @@ SurfRoughing::GetActiveSurfaces( INTVECTOR& vSurfId) const
//----------------------------------------------------------------------------
bool
SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const Vector3d& vtExtr,
double dDepth, double dElev, double dStep, bool bSplitArcs)
double dElev, double dStep, bool bSplitArcs)
{
// recupero distanze di sicurezza
double dSafeZ = GetSafeZ() ;
@@ -1683,6 +1683,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
// ciclo sulle regioni
bool bStart = true ;
int nBasicStep = -1 ;
for ( auto& vId : vPocket) {
// recupero la superficie da lavorare ( è il primo indice )
@@ -1700,6 +1701,8 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
// se il tipo è SPIRAL_OUT e sto gestendo uno step intermedio, lo lavoro come SPIRAL_IN
if ( nSubType == SURFROU_SUB_SPIRALOUT && bIsSubStep)
nSubType = SURFROU_SUB_SPIRALIN ;
if ( ! bIsSubStep)
++ nBasicStep ;
ICRVCOMPOPOVECTOR vpCrvs ; // percorso di svuotatura
// se si tratta di uno step base, allora lavoro l'intera superficie
@@ -1779,6 +1782,13 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
m_pMchMgr->SetLastError( 3012, "Error in SurfRoughing : Link not computable") ;
return false ;
}
if ( ! bIsSubStep) {
ptP1 -= ( nBasicStep * dStep) * vtTool ;
SetFeed( GetTipFeed()) ;
SetFlag( 0) ;
if ( AddLinearMove( ptP1) == GDB_ID_NULL)
return false ;
}
}
// aggiungo attacco
SetFeed( GetStartFeed()) ;
+1 -1
View File
@@ -77,7 +77,7 @@ class SurfRoughing : public Machining
bool Chain( int nGrpDestId) ;
bool ProcessPath( int nPathId, int nTempId, int nPvId, int nClId) ;
bool AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const Vector3d& vtExtr,
double dDepth, double dElev, double dStep, bool bSplitArcs) ;
double dElev, double dStep, bool bSplitArcs) ;
bool AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
bool AddLinkApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
bool AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;