EgtMachKernel 1.8l4 :
- correzioni a lavorazioni cornici diritte con lama (per estensione lama con Elev negativa).
This commit is contained in:
Binary file not shown.
+12
-5
@@ -1104,7 +1104,10 @@ SawFinishing::CalculateAcrossToolPath( int nAuxId, int nClId)
|
||||
BBox3d b3PL ;
|
||||
PL.GetLocalBBox( b3PL) ;
|
||||
double dMaxElev = min( dDepth, b3Raw.GetMax().z - b3PL.GetMin().z) ;
|
||||
dAddStart = (( dMaxElev < 0.5 * m_TParams.m_dDiam) ? sqrt( dMaxElev * m_TParams.m_dDiam - dMaxElev * dMaxElev) : 0.5 * m_TParams.m_dDiam) ;
|
||||
if ( dMaxElev > 0.0 && dMaxElev < 0.5 * m_TParams.m_dDiam)
|
||||
dAddStart = sqrt( dMaxElev * m_TParams.m_dDiam - dMaxElev * dMaxElev) ;
|
||||
else
|
||||
dAddStart = 0.5 * m_TParams.m_dDiam ;
|
||||
}
|
||||
|
||||
// Imposto dati comuni
|
||||
@@ -1432,7 +1435,7 @@ SawFinishing::CalcAlongVerticalCuts( ICurve* pSect, int nUmin, int nUmax, const
|
||||
}
|
||||
dElev = max( dElev, dElev2) ;
|
||||
if ( dElev < EPS_SMALL)
|
||||
dElev = max( dRawMaxZ - ptStart.z, dRawMaxZ - ptEnd.z) ;
|
||||
dElev = max( max( dRawMaxZ - ptStart.z, dRawMaxZ - ptEnd.z), 0.) ;
|
||||
// la confronto con il massimo affondamento e con la massima lavorazione della lama
|
||||
double dMaxDepth = min( dDepth, m_TParams.m_dMaxMat) ;
|
||||
if ( dElev > dMaxDepth) {
|
||||
@@ -1519,7 +1522,7 @@ SawFinishing::CalcAlongStdCuts( ICurve* pSect, double dUmin, double dUmax,
|
||||
}
|
||||
dElev = max( dElev, dElev2) ;
|
||||
if ( dElev < EPS_SMALL)
|
||||
dElev = max( dRawMaxZ - ptStart.z, dRawMaxZ - ptEnd.z) ;
|
||||
dElev = max( max( dRawMaxZ - ptStart.z, dRawMaxZ - ptEnd.z), 0.) ;
|
||||
// la confronto con il massimo affondamento e con la massima lavorazione della lama
|
||||
double dMaxDepth = min( dDepth, m_TParams.m_dMaxMat) ;
|
||||
if ( dElev > dMaxDepth) {
|
||||
@@ -1575,7 +1578,9 @@ SawFinishing::CalcAlongOneWayCut( const Point3d& ptStart, const Point3d& ptEnd,
|
||||
}
|
||||
else if ( m_Params.m_nLeadLinkType == SAWFIN_LL_OUT) {
|
||||
// distanza XY tra centro e bordo taglio
|
||||
double dDeltaT = (( dElev < 0.5 * m_TParams.m_dDiam) ? sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) : 0) ;
|
||||
double dDeltaT = 0 ;
|
||||
if ( dElev > 0.0 && dElev < 0.5 * m_TParams.m_dDiam)
|
||||
dDeltaT = sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) ;
|
||||
// modifico inizio
|
||||
ptNewStart = ptStart - vtDir * ( dDeltaT + dAppr) ;
|
||||
}
|
||||
@@ -1631,7 +1636,9 @@ SawFinishing::CalcAlongZigZagCut( const Point3d& ptStart, const Point3d& ptEnd,
|
||||
// se attacco/uscita/collegamento esterno allungo inizio e fine a fuori grezzo
|
||||
else if ( m_Params.m_nLeadLinkType == SAWFIN_LL_OUT) {
|
||||
// distanza XY tra centro e bordo taglio
|
||||
double dDeltaT = (( dElev < 0.5 * m_TParams.m_dDiam) ? sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) : 0) ;
|
||||
double dDeltaT = 0 ;
|
||||
if ( dElev > 0.0 && dElev < 0.5 * m_TParams.m_dDiam)
|
||||
dDeltaT = sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) ;
|
||||
// modifico inizio
|
||||
ptNewStart = ptStart - vtDir * ( dDeltaT + dAppr) ;
|
||||
// modifico fine
|
||||
|
||||
+6
-2
@@ -1172,7 +1172,9 @@ SawRoughing::CalculateOneWayCut( const Point3d& ptStart, const Point3d& ptEnd, c
|
||||
Point3d ptNewStart = ptStart ;
|
||||
if ( m_Params.m_nLeadLinkType == SAWROU_LL_OUT) {
|
||||
// distanza XY tra centro e bordo taglio
|
||||
double dDeltaT = (( dElev < 0.5 * m_TParams.m_dDiam) ? sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) : 0) ;
|
||||
double dDeltaT = 0 ;
|
||||
if ( dElev > 0.0 && dElev < 0.5 * m_TParams.m_dDiam)
|
||||
dDeltaT = sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) ;
|
||||
// modifico inizio
|
||||
ptNewStart = ptStart - vtDir * ( dDeltaT + dAppr) ;
|
||||
}
|
||||
@@ -1269,7 +1271,9 @@ SawRoughing::CalculateZigZagCut( const Point3d& ptStart, const Point3d& ptEnd, c
|
||||
// se attacco/uscita/collegamento esterno allungo inizio e fine
|
||||
if ( m_Params.m_nLeadLinkType == SAWROU_LL_OUT) {
|
||||
// distanza XY tra centro e bordo taglio
|
||||
double dDeltaT = (( dElev < 0.5 * m_TParams.m_dDiam) ? sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) : 0) ;
|
||||
double dDeltaT = 0 ;
|
||||
if ( dElev > 0.0 && dElev < 0.5 * m_TParams.m_dDiam)
|
||||
dDeltaT = sqrt( dElev * m_TParams.m_dDiam - dElev * dElev) ;
|
||||
// modifico inizio
|
||||
ptNewStart = ptStart - vtDir * ( dDeltaT + dAppr) ;
|
||||
// modifico fine
|
||||
|
||||
Reference in New Issue
Block a user