EgtMachKernel :

- in PocketingNT aggiunto controllo per evitare di Trimmare con il grezzo le superfici di svuotatura riferite a percorsi Ottimizzati per Fori.
This commit is contained in:
Riccardo Elitropi
2026-04-28 11:06:21 +02:00
parent bf602419fc
commit 9534c0342d
+7 -1
View File
@@ -3974,11 +3974,17 @@ PocketingNT::ProcessPath( int nPathId, int nPvId, int nClId)
}
if ( pSfrTrim->IsValid() && pSfrTrim->GetChunkCount() > 0) {
// se valida, limito la superficie di svuotatura alla proiezione del grezzo
// NB. Se la svuotatura è un foro chiuso il cui il raggio della circonferenza non è superiore a 3 volte il diamentro della
// tasca corrente, evito di fare intersezioni
const double DIAM_RATIO = 3. ;
bool bSkipIntersection = ( IsPocketingHole( pSfrPock, m_TParams.m_dDiam / 2., GetOffsR(), GetSideStep(), m_Params.m_nSubType,
GetLeadInType(), m_Params.m_dLiTang, DIAM_RATIO)) ;
#if DEBUG_SFR_RAW
int _nSfr = m_pGeomDB->AddGeoObj( GDB_ID_NULL, nLaySR, pSfrTrim->Clone()) ;
m_pGeomDB->SetMaterial( _nSfr, Color( 0., 1., 0., .75)) ;
#endif
pSfrPock->Intersect( *pSfrTrim) ;
if ( ! bSkipIntersection)
pSfrPock->Intersect( *pSfrTrim) ;
}
else
continue ; // svuotatura fuori dalla proiezione del grezzo, passo al prossimo step