From daedb07135259b8bcbad3f23f79946bf3d7db03c Mon Sep 17 00:00:00 2001 From: Riccardo Elitropi Date: Mon, 5 May 2025 12:25:12 +0200 Subject: [PATCH] EgtGeomKernel : - in CalcPocketing, aggiunta inversione del percorso per spirali in lavorazione SPIRAL_OUT. --- CalcPocketing.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 ; } }