EgtMachKernel 2.4k4 :

- migliorato calcolo elevazione in fresature con utensili di grosso diametro.
This commit is contained in:
DarioS
2022-11-29 09:04:59 +01:00
parent caf2176a3c
commit 4d19a52590
2 changed files with 10 additions and 24 deletions
BIN
View File
Binary file not shown.
+10 -24
View File
@@ -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 ;
}