EgtMachKernel 1.6v8 :
- gestita posizione Tavola Home diversa da posizione 0 Macchina in disposizione - in generazione si assegna il nome macchina - nel confronto attrezzaggio utensili si tiene conto della posizione in ToolChanger - se angoli indeterminati ma si determinano con asse ausiliario, li rendo tali direttamente - aggiunto comando per ricaricare DB utensili e lavorazioni - aggiunta funzione GetPhaseLastOperation - ora inserimento lavorazione avviene alla fine della fase corrente - migliorato split di grezzo con lavorazioni - in taglio di lama e fresatura irrobustito allungamenti/accorciamenti percorso.
This commit is contained in:
+24
-22
@@ -951,31 +951,33 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId)
|
||||
}
|
||||
}
|
||||
|
||||
// eventuali allungamenti per percorso aperto
|
||||
// eventuali allungamenti/accorciamenti per percorso aperto
|
||||
bool bOverlapOn = false ;
|
||||
if ( ! pCompo->IsClosed()) {
|
||||
// eventuale allungamento/accorciamento dell'inizio
|
||||
if ( abs( m_Params.m_dStartAddLen) > EPS_SMALL) {
|
||||
if ( m_Params.m_dStartAddLen > 0) {
|
||||
if ( ! pCompo->ExtendStartByLen( m_Params.m_dStartAddLen))
|
||||
return false ;
|
||||
}
|
||||
else {
|
||||
if ( ! pCompo->TrimStartAtLen( - m_Params.m_dStartAddLen))
|
||||
return false ;
|
||||
}
|
||||
// verifico che il percorso sia abbastanza lungo
|
||||
double dLen ; pCompo->GetLength( dLen) ;
|
||||
if ( dLen + m_Params.m_dStartAddLen + m_Params.m_dEndAddLen < 10 * EPS_SMALL) {
|
||||
LOG_INFO( GetEMkLogger(), "Warning in Milling : skipped Path too small") ;
|
||||
return true ;
|
||||
}
|
||||
// eventuale allungamento/accorciamento della fine
|
||||
if ( abs( m_Params.m_dEndAddLen) > EPS_SMALL) {
|
||||
if ( m_Params.m_dEndAddLen > 0) {
|
||||
if ( ! pCompo->ExtendEndByLen( m_Params.m_dEndAddLen))
|
||||
return false ;
|
||||
}
|
||||
else {
|
||||
double dLen ;
|
||||
if ( ! pCompo->GetLength( dLen) || ! pCompo->TrimEndAtLen( dLen + m_Params.m_dEndAddLen))
|
||||
return false ;
|
||||
}
|
||||
// eventuali allungamenti
|
||||
if ( m_Params.m_dStartAddLen > EPS_SMALL) {
|
||||
if ( ! pCompo->ExtendStartByLen( m_Params.m_dStartAddLen))
|
||||
return false ;
|
||||
}
|
||||
if ( m_Params.m_dEndAddLen > EPS_SMALL) {
|
||||
if ( ! pCompo->ExtendEndByLen( m_Params.m_dEndAddLen))
|
||||
return false ;
|
||||
}
|
||||
// eventuale accorciamenti (da fare dopo tutti gli allungamenti)
|
||||
if ( m_Params.m_dStartAddLen < - EPS_SMALL) {
|
||||
if ( ! pCompo->TrimStartAtLen( - m_Params.m_dStartAddLen))
|
||||
return false ;
|
||||
}
|
||||
if ( m_Params.m_dEndAddLen < - EPS_SMALL) {
|
||||
double dLen ;
|
||||
if ( ! pCompo->GetLength( dLen) || ! pCompo->TrimEndAtLen( dLen + m_Params.m_dEndAddLen))
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
// eventuale sovrapposizione per percorso chiuso
|
||||
|
||||
Reference in New Issue
Block a user