EgtMachKernel :

- a Milling e Pocketing aggiunta possibilità di impostare da note utente elevazione massima (MaxElev=...)
- migliorato riconoscimento singolo lato di contorno di faccia.
This commit is contained in:
Dario Sassi
2018-03-15 19:13:41 +00:00
parent 47036161c8
commit 704c035dbb
3 changed files with 10 additions and 2 deletions
+4
View File
@@ -1287,6 +1287,10 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId)
}
else
return false ;
// eventuale imposizione massima elevazione da note utente
double dMaxElev ;
if ( FromString( ExtractInfo( m_Params.m_sUserNotes, "MaxElev="), dMaxElev) && dElev > dMaxElev)
dElev = dMaxElev ;
// verifico che lo step dell'utensile sia sensato
double dOkStep = m_Params.m_dStep ;
+1 -1
View File
@@ -508,7 +508,7 @@ Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nF
dMin = b3Box.GetMin().x ;
dMax = b3Box.GetMax().x ;
}
double dTol = min( ( dMax - dMin) / 4., 20.) ;
double dTol = min( ( dMax - dMin) / 8., 20.) ;
// cerco il punto medio delle curve più vicino all'estremo desiderato
double dRef = dMin ;
if ( nFaceUse == FACE_DOWN || nFaceUse == FACE_FRONT || nFaceUse == FACE_LEFT)
+5 -1
View File
@@ -1135,6 +1135,10 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId)
}
else
return false ;
// eventuale imposizione massima elevazione da note utente
double dMaxElev ;
if ( FromString( ExtractInfo( m_Params.m_sUserNotes, "MaxElev="), dMaxElev) && dElev > dMaxElev)
dElev = dMaxElev ;
// verifico che il massimo materiale dell'utensile sia sensato
const double MIN_MAXMAT = 1.0 ;
@@ -1163,7 +1167,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId)
") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ;
LOG_INFO( GetEMkLogger(), sInfo.c_str()) ;
}
// se lavorazione singola e l'elevazione supera la capacità dell'utensile
// se lavorazione singola e l'elevazione supera la capacità dell'utensile
if ( ( dOkStep < EPS_SMALL || dOkStep > dElev) && dElev > m_TParams.m_dMaxMat + EPS_SMALL) {
if ( dDepth + max( dThick, 0.0) > m_TParams.m_dMaxMat) {
dDepth = m_TParams.m_dMaxMat - max( dThick, 0.0) ;