EgtMachKernel :

- ulteriore correzione a svuotature con lato aperto e attacco da fuori quando lato aperto largo come diametro utensile
  (la precedente correzione era valida solo per svuotature nel piano XY).
This commit is contained in:
Dario Sassi
2019-10-11 05:38:34 +00:00
parent 0c0e2339ec
commit 378678b149
+5 -1
View File
@@ -3690,6 +3690,9 @@ Pocketing::GetRadiusForStartEndElevation( void) const
bool
Pocketing::GetMidOfLongestOpenSide( const ICurveComposite* pCompo, Point3d& ptMid, Vector3d& vtMidOrt)
{
// recupero il vettore estrusione
Vector3d vtExtr = Z_AX ;
pCompo->GetExtrusion( vtExtr) ;
// richiedo lunghezza superiore a diametro utensile più doppio offset radiale
double dMaxLen = m_TParams.m_dDiam + 2 * GetOffsR() - EPS_SMALL ;
// ciclo sulle singole curve
@@ -3701,8 +3704,9 @@ Pocketing::GetMidOfLongestOpenSide( const ICurveComposite* pCompo, Point3d& ptMi
if ( pCrv->GetLength( dLen) && dLen > dMaxLen) {
dMaxLen = dLen ;
pCrv->GetMidPoint( ptMid) ;
// vettore ortogonale verso l'esterno (ruotato -90deg rispetto a estrusione9
pCrv->GetMidDir( vtMidOrt) ;
vtMidOrt.Rotate( Z_AX, 0, -1) ;
vtMidOrt.Rotate( vtExtr, 0, -1) ;
bFound = true ;
}
}