EgtMachKernel 2.4k4 :
- migliorato calcolo elevazione in fresature con utensili di grosso diametro.
This commit is contained in:
Binary file not shown.
+10
-24
@@ -2035,19 +2035,13 @@ Milling::CalcPathElevation( const ICurveComposite* pCompo, const Vector3d& vtToo
|
||||
m_pMchMgr->SetLastError( 2306, "Error in Milling : Entity GetElevation") ;
|
||||
return false ;
|
||||
}
|
||||
// step laterali
|
||||
int nStep = Clamp( int( dRad / ELEV_MAX_OFFS), 0, 4) + 1 ;
|
||||
// da una parte
|
||||
if ( GetElevation( m_nPhase, ptStart + vtStartPerp - vtDepth, ptMid + vtMidPerp - vtDepth,
|
||||
ptEnd + vtEndPerp - vtDepth, vtTool, dCurrElev)) {
|
||||
if ( dCurrElev > dElev)
|
||||
dElev = dCurrElev ;
|
||||
}
|
||||
else {
|
||||
m_pMchMgr->SetLastError( 2306, "Error in Milling : Entity GetElevation") ;
|
||||
return false ;
|
||||
}
|
||||
if ( dRad > ELEV_MAX_OFFS) {
|
||||
if ( GetElevation( m_nPhase, ptStart + vtStartPerp / 2 - vtDepth, ptMid + vtMidPerp / 2 - vtDepth,
|
||||
ptEnd + vtEndPerp / 2 - vtDepth, vtTool, dCurrElev)) {
|
||||
for ( int j = 1 ; j <= nStep ; ++ j) {
|
||||
double dCoeff = j / double( nStep) ;
|
||||
if ( GetElevation( m_nPhase, ptStart + dCoeff * vtStartPerp - vtDepth, ptMid + dCoeff * vtMidPerp - vtDepth,
|
||||
ptEnd + dCoeff * vtEndPerp - vtDepth, vtTool, dCurrElev)) {
|
||||
if ( dCurrElev > dElev)
|
||||
dElev = dCurrElev ;
|
||||
}
|
||||
@@ -2057,18 +2051,10 @@ Milling::CalcPathElevation( const ICurveComposite* pCompo, const Vector3d& vtToo
|
||||
}
|
||||
}
|
||||
// dall'altra parte
|
||||
if ( GetElevation( m_nPhase, ptStart - vtStartPerp - vtDepth, ptMid - vtMidPerp - vtDepth,
|
||||
ptEnd - vtEndPerp - vtDepth, vtTool, dCurrElev)) {
|
||||
if ( dCurrElev > dElev)
|
||||
dElev = dCurrElev ;
|
||||
}
|
||||
else {
|
||||
m_pMchMgr->SetLastError( 2306, "Error in Milling : Entity GetElevation") ;
|
||||
return false ;
|
||||
}
|
||||
if ( dRad > ELEV_MAX_OFFS) {
|
||||
if ( GetElevation( m_nPhase, ptStart - vtStartPerp / 2 - vtDepth, ptMid - vtMidPerp / 2 - vtDepth,
|
||||
ptEnd - vtEndPerp / 2 - vtDepth, vtTool, dCurrElev)) {
|
||||
for ( int j = 1 ; j <= nStep ; ++ j) {
|
||||
double dCoeff = j / double( nStep) ;
|
||||
if ( GetElevation( m_nPhase, ptStart - dCoeff * vtStartPerp - vtDepth, ptMid - dCoeff * vtMidPerp - vtDepth,
|
||||
ptEnd - dCoeff * vtEndPerp - vtDepth, vtTool, dCurrElev)) {
|
||||
if ( dCurrElev > dElev)
|
||||
dElev = dCurrElev ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user