EgtGeomKernel :

- in CalcPocketing, aggiunta inversione del percorso per spirali in lavorazione SPIRAL_OUT.
This commit is contained in:
Riccardo Elitropi
2025-05-05 12:25:12 +02:00
parent ea87db1ae1
commit daedb07135
+6 -2
View File
@@ -85,6 +85,7 @@ typedef vector<ICRVCOMPOPOVECTOR> 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 ;
}
}