Merge branch 'master' into FasterVMill5Axis
This commit is contained in:
+16
-1
@@ -1999,13 +1999,28 @@ bool
|
||||
VolZmap::MillingGeneralMotionStep( const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs,
|
||||
const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe)
|
||||
{
|
||||
// Calcolo angoli di rotazione utensile longitudinale e trasversale rispetto al movimento
|
||||
// Deve essere definito l'utensile corrente
|
||||
if ( m_nCurrTool < 0 || m_nCurrTool >= int( m_vTool.size()))
|
||||
return false ;
|
||||
// Calcolo angoli di rotazione utensile longitudinale e trasversale rispetto al movimento per eventuale suddivisione
|
||||
double dAlongAngDeg, dAcrossAngDeg ;
|
||||
GetAlongAcrossRotation( vtDs, vtDe, ptPe - ptPs, dAlongAngDeg, dAcrossAngDeg) ;
|
||||
// Divido il movimento in tratti con direzione utensile costante
|
||||
const double ANG_ACROSS_STEP = 1.0 ;
|
||||
const double ANG_ALONG_STEP = 1.0 ;
|
||||
int nStepCnt = int( max( { abs( dAlongAngDeg) / ANG_ALONG_STEP, abs( dAcrossAngDeg) / ANG_ACROSS_STEP, 1.})) ;
|
||||
// Calcolo coefficiente di riduzione movimenti con direzione costante per evitare extra tagli
|
||||
// !!! In attesa dell'algoritmo esatto !!!
|
||||
double dToolLen = m_vTool[m_nCurrTool].GetHeigth() ;
|
||||
double dToolCrad = m_vTool[m_nCurrTool].GetCornRadius() ;
|
||||
Vector3d vtBase = ptPe - ptPs ;
|
||||
double dBaseLen = vtBase.Len() ;
|
||||
Vector3d vtTip = ptPe - dToolLen * vtDe - ( ptPs - dToolLen * vtDs) ;
|
||||
double dTipLen = vtTip.Len() ;
|
||||
double dK = ( vtBase * vtTip > EPS_SMALL ? dTipLen / dBaseLen : 0) ;
|
||||
if ( dTipLen / nStepCnt < 0.1 * dToolCrad)
|
||||
dK = 0 ;
|
||||
// Divido il movimento in tratti con direzione utensile costante
|
||||
bool bOk = true ;
|
||||
|
||||
//////// debug - vecchia modalità
|
||||
|
||||
Reference in New Issue
Block a user