diff --git a/CalcPocketing.cpp b/CalcPocketing.cpp index 74e943f..7d292b9 100644 --- a/CalcPocketing.cpp +++ b/CalcPocketing.cpp @@ -85,6 +85,7 @@ typedef vector VICRVCOMPOPOVECTOR ; #include "EgtDev/Include/EGkGeoObjSave.h" #include "EgtDev/Include/EGkGeoPoint3d.h" #include "EgtDev/Include/EGkGeoVector3d.h" + string sPockDebug = "C:\\Temp\\PockDebug.nge" ; //---------------------------------------------------------------------------- // Debug Functions //---------------------------------------------------------------------------- @@ -3580,14 +3581,17 @@ GetSpiralOptimizedCurves( const ISurfFlatRegion* pSfrChunk, const PocketParams& double dIntRad = 0 ; bool bOkSpiral = CalcCircleSpiral( ptCen, pSfrChunk->GetNormVersor(), dRad - dOffs, dIntRad, PockParam, pCrvRes) ; if ( bOkSpiral && pCrvRes->IsValid() && pCrvRes->GetCurveCount() > 0) { - // se curva di bordo OPEN, imposto i parametri per LeadIn - if ( nTempPropRef == TEMP_PROP_OPEN_EDGE) { + // se curva di bordo OPEN e lavorazione SpiralIn, imposto i parametri per LeadIn + if ( nTempPropRef == TEMP_PROP_OPEN_EDGE && PockParam.nType == POCKET_SPIRALIN) { Vector3d vtMidOut ; pCrvRes->GetStartDir( vtMidOut) ; vtMidOut.Rotate( pSfrChunk->GetNormVersor(), PockParam.bInvert ? ANG_RIGHT : - ANG_RIGHT) ; bool bIsExtended ; ExtendPath( pCrvRes, pSfrChunk, PockParam, vtMidOut, false, bIsExtended) ; } + // se invece lavorazione in SpiralOut, inverto il percorso + else if ( PockParam.nType == POCKET_SPIRALOUT) + pCrvRes->Invert() ; return true ; } }