diff --git a/CalcPocketing.cpp b/CalcPocketing.cpp index 070a43f..2ea388a 100644 --- a/CalcPocketing.cpp +++ b/CalcPocketing.cpp @@ -8075,8 +8075,12 @@ OrderAndExtendConformalPaths( ICRVCOMPOPOVECTOR& vCrvPaths, const ISurfFlatRegio // superficie di controllo per parti isolate PtrOwner pSfrToRemove( CloneSurfFlatRegion( pSfrChunk)) ; if ( IsNull( pSfrToRemove) || ! pSfrToRemove->IsValid() || - ! pSfrToRemove->Intersect( *pSfrOrig)) - return false ; + ! pSfrToRemove->Intersect( *pSfrOrig)) { + // riprovo con una leggera tolleranza + pSfrToRemove->Offset( - 10 * EPS_SMALL, ICurve::OFF_FILLET) ; + if ( ! pSfrToRemove->Intersect( *pSfrOrig)) + return false ; + } // creo le regioni piane di svuotatura dei percorsi ISURFFRPOVECTOR vSfrRemoved ; vSfrRemoved.resize( vCrvPaths.size()) ;