EgtMachKernel 1.8c1 :

- liberalizzati nomi di utensili e lavorazioni (ora vietato solo carattere '\n')
- migliorati controlli su reset lavorazione corrente
- corretta elevazione di fresatura, svuotatura e scalpellatura quando percorso su superficie superiore del grezzo
- corretto controllo step di fresatura e svuotatura quando nullo.
This commit is contained in:
Dario Sassi
2017-03-02 18:08:09 +00:00
parent 284525c926
commit aec93d06fb
10 changed files with 46 additions and 23 deletions
+20 -6
View File
@@ -1,13 +1,14 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2017
//----------------------------------------------------------------------------
// File : MachiningsMgr.cpp Data : 15.01.17 Versione : 1.6x7
// File : MachiningsMgr.cpp Data : 02.03.17 Versione : 1.8c1
// Contenuto : Implementazione gestore database lavorazioni.
//
//
//
// Modifiche : 02.06.15 DS Creazione modulo.
// 13.07.16 DS Agg. gestione SplitArcs (MF_CURR_VER = 1005).
// 02.03.17 DS Aggiunto controllo nome.
//
//----------------------------------------------------------------------------
@@ -496,8 +497,13 @@ bool
MachiningsMgr::AddMachining( const string& sName, int nType)
{
// annullo lavorazione corrente
if ( m_pCurrMach != nullptr)
if ( m_pCurrMach != nullptr) {
delete m_pCurrMach ;
m_pCurrMach = nullptr ;
}
// verifico validità del nome
if ( ! IsValidVal( sName))
return false ;
// verifico unicità del nome
if ( m_suData.find( sName) != m_suData.end())
return false ;
@@ -528,8 +534,13 @@ bool
MachiningsMgr::CopyMachining( const string& sSource, const string& sName)
{
// annullo lavorazione corrente
if ( m_pCurrMach != nullptr)
if ( m_pCurrMach != nullptr) {
delete m_pCurrMach ;
m_pCurrMach = nullptr ;
}
// verifico validità del nome
if ( ! IsValidVal( sName))
return false ;
// verifico unicità del nome
if ( m_suData.find( sName) != m_suData.end())
return false ;
@@ -658,9 +669,10 @@ bool
MachiningsMgr::SetCurrMachining( const string& sName)
{
// se c'è lavorazione corrente, la elimino
if ( m_pCurrMach != nullptr)
if ( m_pCurrMach != nullptr) {
delete m_pCurrMach ;
m_pCurrMach = nullptr ;
m_pCurrMach = nullptr ;
}
// recupero i dati della lavorazione
const MachiningData* pMdata = GetMachining( sName) ;
if ( pMdata == nullptr)
@@ -802,8 +814,10 @@ MachiningsMgr::SetCurrMachiningParam( int nType, const std::string& sVal)
// non è possibile cambiare UUID e Tool UUID
if ( nType == MPA_UUID || nType == MPA_TUUID)
return false ;
// è possibile cambiare il nome, solo se il nuovo non è già presente nel DB (esclusa lavorazione corrente)
// è possibile cambiare il nome, solo se il nuovo è valido e non è già presente nel DB (esclusa lavorazione corrente)
if ( nType == MPA_NAME) {
if ( ! IsValidVal( sVal))
return false ;
const MachiningData* pMch = GetMachining( sVal) ;
if ( pMch != nullptr && pMch->m_Uuid != m_pCurrMach->m_Uuid)
return false ;