diff --git a/Pocketing.cpp b/Pocketing.cpp index 3c7df55..5f12d37 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -4156,7 +4156,8 @@ Pocketing::CalcTrapezoidSpiral( ICurveComposite * pCrvPocket, const Vector3d& vt } // segno i lati aperti come temp prop della curva int nOpenEdges = nProp0 + nProp1 * 2 + nProp3 * 8 ; - pMCrv->SetTempProp( nOpenEdges, 0) ; + pMCrv->SetTempProp( nOpenEdges, 0) ; + pMCrv->SetExtrusion( vtExtr) ; bOptimizedTrap = true ; return true ; @@ -4324,7 +4325,8 @@ Pocketing::ComputeTrapezoidSpiralLeadInLeadOut( ICurveComposite * pCompo, bool b if ( bBaseOpen && ! bIsOutsideRaw) { // se base è aperta provo a ruotare di 90 gradi Vector3d vtDirO = vtDir ; - vtDirO.Rotate( Z_AX, ( m_Params.m_bInvert ? -90 : 90)) ; + Vector3d vtExtr ; pCompo->GetExtrusion( vtExtr) ; + vtDirO.Rotate( vtExtr, ( m_Params.m_bInvert ? -90 : 90)) ; double dDist ; GetDistanceFromRawSide( m_nPhase, pt, vtDirO, dDist) ; if ( dDist < 0.5 * m_TParams.m_dDiam + EPS_SMALL) { @@ -4338,7 +4340,7 @@ Pocketing::ComputeTrapezoidSpiralLeadInLeadOut( ICurveComposite * pCompo, bool b bIsOutsideRaw = true ; } } - } + } return true ; }