Merge commit 'f81bff5254339c1d64eb8873df2488784ba40ff6'

This commit is contained in:
Dario Sassi
2024-07-10 13:21:38 +02:00
+9 -3
View File
@@ -1767,6 +1767,8 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
double dAppr = m_Params.m_dStartPos ;
// recupero il tipo di svuotatura
int nSubType = m_Params.m_nSubType ;
// paramtro di inversione
bool bInvert = m_Params.m_bInvert ;
// numero di Step corrente
int nCurrStep = 0 ;
@@ -1788,8 +1790,10 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
pSfrLimit.Set( pSfrL->Clone()) ;
}
// se il tipo è SPIRAL_OUT e sto gestendo uno step intermedio, lo lavoro come SPIRAL_IN
if ( nSubType == SURFROU_SUB_SPIRALOUT && bIsSubStep)
if ( nSubType == SURFROU_SUB_SPIRALOUT && bIsSubStep) {
nSubType = SURFROU_SUB_SPIRALIN ;
bInvert = ! bInvert ; // per lasciare invariato il senso di percorrenza
}
if ( ! bIsSubStep)
++ nBasicStep ;
@@ -1800,7 +1804,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
ICRVCOMPOPOVECTOR vpCrvs ; // percorso di svuotatura
// se si tratta di uno step base, allora lavoro l'intera superficie
if ( ! CalcPocketing( pSfrPock, m_TParams.m_dDiam / 2, 0., m_Params.m_dSideStep, m_Params.m_dSideAngle,
nSubType, true, pSfrLimit, vpCrvs)) {
nSubType, true, bInvert, pSfrLimit, vpCrvs)) {
m_pMchMgr->SetLastError( 3028, "Error in SurfRoughing : Error in CalcPocketing") ;
return false ;
}
@@ -1892,7 +1896,9 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
return false ;
}
// se attacco elica od equivalente di step pieno, devo fare elica o similari solo sulla parte con materiale
if ( ! bIsSubStep &&
if ( nSubType != SURFROU_SUB_ONEWAY &&
nSubType != SURFROU_SUB_ZIGZAG &&
! bIsSubStep &&
( GetLeadInType() == POCKET_LI_ZIGZAG ||
GetLeadInType() == POCKET_LI_HELIX ||
GetLeadInType() == POCKET_LI_GLIDE)) {