//---------------------------------------------------------------------------- // EgalTech 2015-2024 //---------------------------------------------------------------------------- // File : MachMgrDBMachinings.cpp Data : 29.03.24 Versione : 2.6d1 // Contenuto : Implementazione gestione DB lavorazioni della classe MachMgr. // // // // Modifiche : 11.11.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "DllMain.h" #include "MachMgr.h" #include "/EgtDev/Include/EGnFileUtils.h" using namespace std ; //---------------------------------------------------------------------------- bool MachMgr::MdbGetMachiningNewName( string& sName) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // verifico nome ed eventualmente lo modifico per renderlo nuovo return pMsMgr->GetMachiningNewName( sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbAddMachining( const string& sName, int nType) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // aggiungo la lavorazione al DB lavorazioni return pMsMgr->AddMachining( sName, nType) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbCopyMachining( const string& sSource, const string& sName) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // copio la lavorazione nel DB lavorazioni return pMsMgr->CopyMachining( sSource, sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbRemoveMachining( const string& sName) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // rimuovo la lavorazione dal DB lavorazioni return pMsMgr->RemoveMachining( sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetFirstMachining( int nType, string& sName) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // cerco la prima lavorazione del tipo richiesto nel DB lavorazioni return pMsMgr->GetFirstMachining( nType, sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetNextMachining( int nType, string& sName) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // cerco la successiva lavorazione del tipo richiesto nel DB lavorazioni return pMsMgr->GetNextMachining( nType, sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetMachiningFromUUID( const string& sMuuid, string& sName) const { // pulisco il parametro di ritorno sName.clear() ; // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // cerco la lavorazione con l'UUID, se trovata ne restituisco il nome EgtUUID Muuid ; if ( ! FromString( sMuuid, Muuid)) return false ; const MachiningData* pMdata = pMsMgr->GetMachining( Muuid) ; if ( pMdata == nullptr) return false ; sName = pMdata->m_sName ; return true ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetCurrMachining( const string& sName) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // imposto la lavorazione corrente return pMsMgr->SetCurrMachining( sName) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSaveCurrMachining( void) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // salvo la lavorazione corrente return pMsMgr->SaveCurrMachining() ; } //---------------------------------------------------------------------------- bool MachMgr::MdbIsCurrMachiningModified( void) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // verifico se la lavorazione corrente è stata modificata return pMsMgr->IsCurrMachiningModified() ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetCurrMachiningParam( int nType, bool bVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro return pMsMgr->SetCurrMachiningParam( nType, bVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetCurrMachiningParam( int nType, int nVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro return pMsMgr->SetCurrMachiningParam( nType, nVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetCurrMachiningParam( int nType, double dVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro return pMsMgr->SetCurrMachiningParam( nType, dVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetCurrMachiningParam( int nType, const string& sVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro return pMsMgr->SetCurrMachiningParam( nType, sVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetCurrMachiningParam( int nType, bool& bVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro return pMsMgr->GetCurrMachiningParam( nType, bVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetCurrMachiningParam( int nType, int& nVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro return pMsMgr->GetCurrMachiningParam( nType, nVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetCurrMachiningParam( int nType, double& dVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro return pMsMgr->GetCurrMachiningParam( nType, dVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetCurrMachiningParam( int nType, string& sVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro return pMsMgr->GetCurrMachiningParam( nType, sVal) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetGeneralParam( int nType, bool bVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro switch ( nType) { case MGP_COMP3A : return pMsMgr->Set3AxComp( bVal) ; case MGP_COMP5A : return pMsMgr->Set5AxComp( bVal) ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetGeneralParam( int nType, int nVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro switch ( nType) { case MGP_SPLITARCS : return pMsMgr->SetSplitArcs( nVal) ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSetGeneralParam( int nType, double dVal) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // assegno il parametro switch ( nType) { case MGP_SAFEZ : return pMsMgr->SetSafeZ( dVal) ; case MGP_EXTRALONCUTREG : return pMsMgr->SetExtraLOnCutRegion( dVal) ; case MGP_EXTRARONDRIREG : return pMsMgr->SetExtraROnDrillRegion( dVal) ; case MGP_HOLEDIAMTOLER : return pMsMgr->SetHoleDiamToler( dVal) ; case MGP_EXTSAWARCMINRAD : return pMsMgr->SetExtSawArcMinRad( dVal) ; case MGP_INTSAWARCMAXSIDEANG : return pMsMgr->SetIntSawArcMaxSideAng( dVal) ; case MGP_SAFEAGGRBOTTZ : return pMsMgr->SetSafeAggrBottZ( dVal) ; case MGP_MAXDEPTHSAFE : return pMsMgr->SetMaxDepthSafe( dVal) ; case MGP_APPROXLINTOL : return pMsMgr->SetApproxLinTol( dVal) ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetGeneralParam( int nType, bool& bVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro switch ( nType) { case MGP_COMP3A : bVal = pMsMgr->Get3AxComp() ; return true ; case MGP_COMP5A : bVal = pMsMgr->Get5AxComp() ; return true ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetGeneralParam( int nType, int& nVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro switch ( nType) { case MGP_SPLITARCS : nVal = pMsMgr->GetSplitArcs() ; return true ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetGeneralParam( int nType, double& dVal) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // recupero il parametro switch ( nType) { case MGP_SAFEZ : dVal = pMsMgr->GetSafeZ() ; return true ; case MGP_EXTRALONCUTREG : dVal = pMsMgr->GetExtraLOnCutRegion() ; return true ; case MGP_EXTRARONDRIREG : dVal = pMsMgr->GetExtraROnDrillRegion() ; return true ; case MGP_HOLEDIAMTOLER : dVal = pMsMgr->GetHoleDiamToler() ; return true ; case MGP_EXTSAWARCMINRAD : dVal = pMsMgr->GetExtSawArcMinRad() ; return true ; case MGP_INTSAWARCMAXSIDEANG : dVal = pMsMgr->GetIntSawArcMaxSideAng() ; return true ; case MGP_SAFEAGGRBOTTZ : dVal = pMsMgr->GetSafeAggrBottZ() ; return true ; case MGP_MAXDEPTHSAFE : dVal = pMsMgr->GetMaxDepthSafe() ; return true ; case MGP_APPROXLINTOL : dVal = pMsMgr->GetApproxLinTol() ; return true ; } return false ; } //---------------------------------------------------------------------------- bool MachMgr::MdbReload( void) { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // ricarico il DB lavorazioni return pMsMgr->Reload() ; } //---------------------------------------------------------------------------- bool MachMgr::MdbSave( void) const { // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; // salvo il DB lavorazioni return pMsMgr->Save() ; } //---------------------------------------------------------------------------- bool MachMgr::MdbGetMachiningDir( string& sMchDir) const { string sMachineDir, sMachineName ; if ( ! GetCurrMachineDir( sMachineDir) || ! GetCurrMachineName( sMachineName)) return false ; sMchDir = sMachineDir + "\\" + MACHININGS_DIR ; return true ; } //---------------------------------------------------------------------------- bool MachMgr::MdbExport( const STRVECTOR& vsMachiningsNames, const string& sOutFile) const { if ( vsMachiningsNames.empty()) return true ; // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; return pMsMgr->Export( vsMachiningsNames, sOutFile) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbToBeImported( const string& sFile, STRVECTOR& vsMachiningsNames, INTVECTOR& vMachiningsTypes) const { if ( ! ExistsFile( sFile)) { LOG_ERROR( GetEMkLogger(), "MdbToBeImported Error : File does not exist") ; return false ; } // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; return pMsMgr->ToBeImported( sFile, vsMachiningsNames, vMachiningsTypes) ; } //---------------------------------------------------------------------------- bool MachMgr::MdbImport( const string& sFile, const STRVECTOR& vsMachiningsToImport, const STRVECTOR& vsMachiningsNames, STRVECTOR& vsImported) { if ( vsMachiningsToImport.empty()) return true ; if ( ! ExistsFile( sFile)) { LOG_ERROR( GetEMkLogger(), "MdbImport Error : File does not exist") ; return false ; } if ( vsMachiningsToImport.size() != vsMachiningsNames.size()) return false ; // recupero il gestore di lavorazioni della macchina corrente MachiningsMgr* pMsMgr = GetCurrMachiningsMgr() ; if ( pMsMgr == nullptr) return false ; return pMsMgr->Import( sFile, vsMachiningsToImport, vsMachiningsNames, vsImported) ; }