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:
+5
-1
@@ -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 ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user