From 3260704202630f470f74072b2180dd44555a6663 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 26 Jun 2019 16:18:36 +0000 Subject: [PATCH] EgtMachKernel : - aggiunta gestione warnings. --- Chiseling.cpp | 31 +++++++++++++--------- Disposition.cpp | 10 +++---- Drilling.cpp | 61 ++++++++++++++++++++++++------------------- MachMgr.h | 12 +++++++-- MachMgrBasic.cpp | 10 +++++++ MachMgrOperations.cpp | 6 +++++ Milling.cpp | 44 ++++++++++++++++++------------- Mortising.cpp | 40 ++++++++++++++++------------ Pocketing.cpp | 38 ++++++++++++++++----------- Processor.cpp | 1 + Sawing.cpp | 43 ++++++++++++++++++------------ Simulator.cpp | 1 + 12 files changed, 184 insertions(+), 113 deletions(-) diff --git a/Chiseling.cpp b/Chiseling.cpp index 656efe8..517e833 100644 --- a/Chiseling.cpp +++ b/Chiseling.cpp @@ -45,6 +45,11 @@ using namespace std ; // 2910 = "Error in Chiseling : link movements not calculable" // 2911 = "Error in Chiseling : link outstroke xx" // 2912 = "Error in Chiseling : post apply not calculable" +// 2951 = "Warning in Chiseling : Skipped entity (xx)" +// 2952 = "Warning in Chiseling : Plunges not found" +// 2953 = "Warning in Chiseling : Tool name changed (xx)" +// 2954 = "Warning in Chiseling : Tool data changed (xx)" +// 2955 = "Warning in Chiseling : machining depth (xxx) bigger than MaxMaterial (yyy)" //---------------------------------------------------------------------------- struct SqHole @@ -401,8 +406,8 @@ Chiseling::SetGeometry( const SELVECTOR& vIds) // test sull'entità int nSubs ; if ( ! VerifyGeometry( Id, nSubs, nType)) { - string sOut = "Entity " + ToString( Id) + " skipped by Chiseling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Chiseling : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2951, sInfo) ; continue ; } // posso aggiungere alla lista @@ -579,7 +584,7 @@ Chiseling::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nChisels == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Chiseling : Plunges not found") + m_pMchMgr->SetWarning( 2952, "Warning in Chiseling : Plunges not found") ; return true ; } @@ -763,15 +768,15 @@ Chiseling::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Chiseling : tool name changed (" + - m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Chiseling : tool name changed (" + + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; + m_pMchMgr->SetWarning( 2953, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Chiseling : tool data changed (" + - m_Params.m_sToolName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Chiseling : tool data changed (" + + m_Params.m_sToolName + ")" ; + m_pMchMgr->SetWarning( 2954, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -1037,8 +1042,8 @@ Chiseling::Chain( int nGrpDestId) // prendo le curve ICURVEPLIST lstPC ; if ( ! GetCurves( Id, lstPC)) { - string sOut = "Entity " + ToString( Id) + " skipped by Chiseling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Chiseling : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2951, sInfo) ; } for ( auto pCrv : lstPC) { vpCrvs.emplace_back( pCrv) ; @@ -1272,14 +1277,14 @@ Chiseling::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth + max( dThick, 0.0) > m_TParams.m_dMaxMat) { string sInfo = "Warning in Chiseling : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2955, sInfo) ; dDepth = m_TParams.m_dMaxMat - max( dThick, 0.0) ; dElev = m_TParams.m_dMaxMat ; } else { string sInfo = "Error in Chiseling : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - m_pMchMgr->SetLastError( 2905, sInfo.c_str()) ; + m_pMchMgr->SetLastError( 2905, sInfo) ; return false ; } } diff --git a/Disposition.cpp b/Disposition.cpp index 1ee9c08..3ae4103 100644 --- a/Disposition.cpp +++ b/Disposition.cpp @@ -437,7 +437,7 @@ Disposition::Apply( bool bVerifyTab) int nId = AddFixture( FixData.sName, GDB_ID_NULL, FixData.ptPos, FixData.dAng, FixData.dMov, false) ; if ( nId == GDB_ID_NULL) { string sOut = "Error adding fixture " + FixData.sName ; - m_pMchMgr->SetLastError( 2001, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2001, sOut) ; bOk = false ; } else @@ -447,7 +447,7 @@ Disposition::Apply( bool bVerifyTab) else { if ( ! PlaceFixture( FixData.nId, FixData.ptPos, FixData.dAng, FixData.dMov)) { string sOut = "Error placing fixture " + ToString( FixData.nId) ; - m_pMchMgr->SetLastError( 2002, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2002, sOut) ; bOk = false ; } } @@ -469,21 +469,21 @@ Disposition::Apply( bool bVerifyTab) case MoveRawData::COR : if ( ! MoveToCornerRawPart( vMvrData.nRawId, vMvrData.ptP, vMvrData.nFlag, false, false)) { string sOut = "Error in MoveToCornerRawPart " + ToString( vMvrData.nRawId) ; - m_pMchMgr->SetLastError( 2003, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2003, sOut) ; bOk = false ; } break ; case MoveRawData::CEN : if ( ! MoveToCenterRawPart( vMvrData.nRawId, vMvrData.ptP, vMvrData.nFlag, false, false)) { string sOut = "Error in MoveToCenterRawPart " + ToString( vMvrData.nRawId) ; - m_pMchMgr->SetLastError( 2004, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2004, sOut) ; bOk = false ; } break ; case MoveRawData::ROT : if ( ! ApplyRotationToRawPart( vMvrData.nRawId, vMvrData.ptP.x, vMvrData.ptP.y, vMvrData.ptP.z, false)) { string sOut = "Error in ApplyRotationToRawPart " + ToString( vMvrData.nRawId) ; - m_pMchMgr->SetLastError( 2005, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2005, sOut) ; bOk = false ; } break ; diff --git a/Drilling.cpp b/Drilling.cpp index bbf3bcf..9b1b637 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -44,6 +44,13 @@ using namespace std ; // 2111 = "Error in Drilling : link movements not calculable" // 2112 = "Error in Drilling : link outstroke xx" // 2113 = "Error in Drilling : post apply not calculable" +// 2151 = "Warning in Drilling : Skipped entity (xx)" +// 2152 = "Warning in Drilling : No machinable path" +// 2153 = "Warning in Drilling : Tool name changed (xx)" +// 2154 = "Warning in Drilling : Tool data changed (xx)" +// 2155 = "Warning in Drilling : Drill bit too short for Hole " +// 2156 = "Warning in Drilling : Skipped by Standard Drilling " +// 2157 = "Warning in Drilling : Skipped by Peck Drilling " //---------------------------------------------------------------------------- struct Hole @@ -443,8 +450,8 @@ Drilling::SetGeometry( const SELVECTOR& vIds) // recupero i dati del foro Hole hole ; if ( ! GetHoleData( vIds[i], hole) || ! VerifyDiameter( hole.dDiam, m_TParams.m_dDiam, dDiamTol)) { - string sOut = "Entity " + ToString( vIds[i].nId) + " skipped by Drilling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped entity " + ToString( vIds[i].nId) ; + m_pMchMgr->SetWarning( 2151, sInfo) ; continue ; } // posso aggiungere alla lista @@ -456,8 +463,8 @@ Drilling::SetGeometry( const SELVECTOR& vIds) // verifico che gli identificativi rappresentino delle curve for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { if ( ( m_pGeomDB->GetGeoType( vIds[i].nId) & GEO_CURVE) == 0) { - string sOut = "Entity " + ToString( vIds[i].nId) + " skipped by Drilling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped entity " + ToString( vIds[i].nId) ; + m_pMchMgr->SetWarning( 2151, sInfo) ; continue ; } // posso aggiungere alla lista @@ -589,7 +596,7 @@ Drilling::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nDrillings == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Drilling : No machinable hole") + m_pMchMgr->SetWarning( 2152, "Warning in Drilling : No machinable hole") ; return true ; } @@ -715,8 +722,8 @@ Drilling::Chain( int nGrpDestId) vpCrvs.emplace_back( GetCurve( Id)) ; // ne verifico la validità if ( IsNull( vpCrvs.back())) { - string sOut = "Entity " + ToString( Id) + " skipped by Drilling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2151, sInfo) ; vpCrvs.back().Reset() ; } } @@ -941,15 +948,15 @@ Drilling::GenerateHolePv( int nInd, const SelData& nCircId, const string& sPName Hole hole ; if ( ! GetHoleData( nCircId, hole) || ! VerifyDiameter( hole.dDiam, m_TParams.m_dDiam, dDiamTol)) { m_pGeomDB->Erase( nPathId) ; - string sOut = "Entity " + ToString( nCircId) + " skipped by Drilling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped entity " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2151, sInfo) ; return true ; } // limito lunghezza foro a massima lavorazione della punta if ( hole.dLen > m_TParams.m_dMaxMat + EPS_SMALL) { hole.dLen = m_TParams.m_dMaxMat ; - string sOut = "Drill bit too short for Hole " + ToString( nCircId) ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Drill bit too short for Hole " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2155, sInfo) ; } // inserisco circonferenza che rappresenta il foro PtrOwner pCrvArc( CreateCurveArc()) ; @@ -985,8 +992,8 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName Hole hole ; if ( ! GetHoleData( nCircId, hole) || ! VerifyDiameter( hole.dDiam, m_TParams.m_dDiam, dDiamTol)) { m_pGeomDB->Erase( nPathId) ; - string sOut = "Entity " + ToString( nCircId) + " skipped by Drilling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped entity " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2151, sInfo) ; return true ; } // se richiesta inversione e foro passante, provvedo @@ -1007,8 +1014,8 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName if ( ( dElev + dAddLen) > m_TParams.m_dMaxMat + EPS_SMALL) { hole.dLen = m_TParams.m_dMaxMat + max( hole.dLen - dElev, 0.) ; hole.bBlind = true ; - string sOut = "Drill bit too short for Hole " + ToString( nCircId) ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Drill bit too short for Hole " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2155, sInfo) ; } // verifiche per foro verso il basso m_bAggrBottom = false ; @@ -1030,8 +1037,8 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName } else { m_pGeomDB->Erase( nPathId) ; - string sOut = "Hole " + ToString( nCircId) + " skipped by Standard Drilling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped by Standard Drilling " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2156, sInfo) ; } } else { @@ -1041,8 +1048,8 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName } else { m_pGeomDB->Erase( nPathId) ; - string sOut = "Hole " + ToString( nCircId) + " skipped by Peck Drilling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Drilling : Skipped by Peck Drilling " + ToString( nCircId) ; + m_pMchMgr->SetWarning( 2157, sInfo) ; } } @@ -1276,15 +1283,15 @@ Drilling::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Drilling : tool name changed (" + - m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_WARN( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Drilling : tool name changed (" + + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; + m_pMchMgr->SetWarning( 2153, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Drilling : tool data changed (" + - m_Params.m_sToolName + ")" ; - LOG_WARN( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Drilling : tool data changed (" + + m_Params.m_sToolName + ")" ; + m_pMchMgr->SetWarning( 2154, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -1398,7 +1405,7 @@ Drilling::VerifyHoleFromBottom( const Hole& hole, SelData Id) // recupero dati di eventuale rinvio da sotto if ( ! GetAggrBottomData( m_TParams.m_sHead, m_AggrBottom) || m_AggrBottom.nType == 0) { string sOut = "Error in Drilling : Entity " + ToString( Id) + " skipped because missing aggregate from bottom" ; - m_pMchMgr->SetLastError( 2106, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2106, sOut) ; return false ; } // calcolo la distanza minima del punto dal contorno del grezzo @@ -1406,7 +1413,7 @@ Drilling::VerifyHoleFromBottom( const Hole& hole, SelData Id) Vector3d vtDir ; if ( ! GetMinDistanceFromRawSide( m_nPhase, hole.ptIni, 0, dDist, vtDir) || dDist > m_AggrBottom.dDMax) { string sOut = "Error in Drilling : Entity " + ToString( Id) + " skipped because too far from part sides" ; - m_pMchMgr->SetLastError( 2107, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2107, sOut) ; return false ; } // assegno direzione di accesso e segnalazione di utilizzo aggregato da sotto diff --git a/MachMgr.h b/MachMgr.h index 6909785..a53ab1c 100644 --- a/MachMgr.h +++ b/MachMgr.h @@ -69,10 +69,14 @@ class MachMgr : public IMachMgr int nContextId, const std::string& sLuaLibsDir, const std::string& sLuaLastRequire) override ; bool Update( void) override ; bool Insert( int nInsGrp) override ; - int GetLastErrorId( void) override + int GetLastErrorId( void) const override { return m_nLastError ; } - std::string GetLastErrorString( void) override + std::string GetLastErrorString( void) const override { return m_sLastError ; } + int GetWarningId( int nInd) const override + { if ( nInd >= int( m_Warnings.size())) return 0 ; return m_Warnings[ nInd].first ; } + std::string GetWarningString( int nInd) const override + { if ( nInd >= int( m_Warnings.size())) return 0 ; return m_Warnings[ nInd].second ; } // Machines bool SetCurrMachine( const std::string& sMachineName) override ; bool GetCurrMachineName( std::string& sMachineName) const override ; @@ -346,6 +350,9 @@ class MachMgr : public IMachMgr bool SetLastError( int nErr, const std::string& sErr) ; void ResetLastError( void) { m_nLastError = 0 ; m_sLastError.clear() ; } + bool SetWarning( int nWarn, const std::string& sWarn) ; + void ResetWarnings( void) + { m_Warnings.clear() ; } // Current Machine std::string GetCurrSetupDir( void) const { Machine* pMch = GetCurrMachine() ; @@ -459,6 +466,7 @@ class MachMgr : public IMachMgr std::string m_sLuaLastRequire ; // nome ultima libreria caricata int m_nLastError ; // identificativo ultimo errore std::string m_sLastError ; // descrittivo ultimo errore + INTSTRVECTOR m_Warnings ; // identificativi e descrittivi avvisi int m_nMachBaseId ; // identificativo gruppo base per le macchinate int m_nMachAuxId ; // identificativo gruppo base per le macchine int m_nCurrMGrpId ; // identificativo macchinata corrente diff --git a/MachMgrBasic.cpp b/MachMgrBasic.cpp index a58a5f4..16a9fca 100644 --- a/MachMgrBasic.cpp +++ b/MachMgrBasic.cpp @@ -301,3 +301,13 @@ MachMgr::SetLastError( int nErr, const string& sErr) LOG_ERROR( GetEMkLogger(), sInfo.c_str()) ; return true ; } + +//---------------------------------------------------------------------------- +bool +MachMgr::SetWarning( int nWarn, const string& sWarn) +{ + m_Warnings.emplace_back( nWarn, sWarn) ; + string sInfo = sWarn + " (" + ToString( nWarn) + ")" ; + LOG_WARN( GetEMkLogger(), sInfo.c_str()) ; + return true ; +} diff --git a/MachMgrOperations.cpp b/MachMgrOperations.cpp index a24c0f5..952231b 100644 --- a/MachMgrOperations.cpp +++ b/MachMgrOperations.cpp @@ -578,6 +578,7 @@ bool MachMgr::DispositionSpecialApply( int nId, bool bRecalc) { ResetLastError() ; + ResetWarnings() ; // verifico sia attiva bool bActive ; if ( ! GetOperationMode( nId, bActive)) @@ -597,6 +598,7 @@ bool MachMgr::DispositionSpecialUpdate( int nId) { ResetLastError() ; + ResetWarnings() ; // verifico sia attiva bool bActive ; if ( ! GetOperationMode( nId, bActive)) @@ -899,6 +901,7 @@ bool MachMgr::SetMachiningGeometry( const SELVECTOR& vIds) { ResetLastError() ; + ResetWarnings() ; // recupero la lavorazione corrente int nCurrMchId = GetCurrMachining() ; if ( nCurrMchId == GDB_ID_NULL) @@ -918,6 +921,7 @@ bool MachMgr::MachiningPreview( bool bRecalc) { ResetLastError() ; + ResetWarnings() ; // recupero la lavorazione corrente int nCurrMchId = GetCurrMachining() ; if ( nCurrMchId == GDB_ID_NULL) @@ -967,6 +971,7 @@ bool MachMgr::MachiningApply( bool bRecalc, bool bPostApply) { ResetLastError() ; + ResetWarnings() ; if ( GetCurrMachine() != nullptr) GetCurrMachine()->ResetOutstrokeInfo() ; // recupero la lavorazione corrente @@ -996,6 +1001,7 @@ bool MachMgr::MachiningUpdate( bool bPostApply) { ResetLastError() ; + ResetWarnings() ; // recupero la lavorazione corrente int nCurrMchId = GetCurrMachining() ; if ( nCurrMchId == GDB_ID_NULL) diff --git a/Milling.cpp b/Milling.cpp index c25d9d3..c031456 100644 --- a/Milling.cpp +++ b/Milling.cpp @@ -58,6 +58,14 @@ using namespace std ; // 2321 = "Error in Milling : post apply not calculable" // 2322 = "Error in Milling : Tool loading failed" // 2323 = "Error in Milling : machining depth (xxx) bigger than MaxDepth (yyy)" +// 2351 = "Warning in Milling : Skipped entity (xx)" +// 2352 = "Warning in Milling : No machinable path" +// 2353 = "Warning in Milling : Tool name changed (xx)" +// 2354 = "Warning in Milling : Tool data changed (xx)" +// 2355 = "Warning in Milling : skipped Path too short" +// 2356 = "Warning in Milling : machining step too small (xx)" +// 2357 = "Warning in Milling : machining step (xxx) bigger than MaxMaterial (yyy)" +// 2358 = "Warning in Milling : machining depth (xxx) bigger than MaxMaterial (yyy)" //---------------------------------------------------------------------------- USEROBJ_REGISTER( GetOperationClass( OPER_MILLING), Milling) ; @@ -508,8 +516,8 @@ Milling::SetGeometry( const SELVECTOR& vIds) // test sull'entità int nSubs ; if ( ! VerifyGeometry( Id, nSubs, nType)) { - string sOut = "Entity " + ToString( Id) + " skipped by Milling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Milling : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2351, sInfo) ; continue ; } // posso aggiungere alla lista @@ -715,7 +723,7 @@ Milling::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nMills == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Milling : No machinable path") + m_pMchMgr->SetWarning( 2352, "Warning in Milling : No machinable path") ; return true ; } @@ -944,15 +952,15 @@ Milling::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Milling : tool name changed (" + - m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Milling : tool name changed (" + + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; + m_pMchMgr->SetWarning( 2353, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Milling : tool data changed (" + - m_Params.m_sToolName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Milling : tool data changed (" + + m_Params.m_sToolName + ")" ; + m_pMchMgr->SetWarning( 2354, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -1239,8 +1247,8 @@ Milling::Chain( int nGrpDestId) // prendo le curve ICURVEPLIST lstPC ; if ( ! GetCurves( Id, lstPC)) { - string sOut = "Entity " + ToString( Id) + " skipped by Milling" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Milling : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2351, sInfo) ; } for ( auto pCrv : lstPC) { vpCrvs.emplace_back( pCrv) ; @@ -1441,7 +1449,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) // 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_WARN( GetEMkLogger(), "Warning in Milling : skipped Path too small") ; + m_pMchMgr->SetWarning( 2355, "Warning in Milling : skipped Path too short") ; return true ; } // se una sola entità circonferenza completa, la divido in due per poterla allungare @@ -1579,7 +1587,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = MIN_ZSTEP + EPS_SMALL ; string sInfo = "Warning in Milling : machining step too small (" + ToString( m_Params.m_dStep, 2) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2356, sInfo) ; } // verifico che il massimo materiale dell'utensile sia sensato @@ -1598,7 +1606,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = m_TParams.m_dMaxMat + EPS_SMALL ; string sInfo = "Warning in Milling : machining step (" + ToString( m_Params.m_dStep, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2357, sInfo) ; } // se lavorazione singola if ( dOkStep < EPS_SMALL || dOkStep > dElev) { @@ -1608,7 +1616,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth + max( dThick, 0.0) > m_TParams.m_dMaxMat) { string sInfo = "Warning in Milling : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2358, sInfo) ; dDepth = m_TParams.m_dMaxMat - max( dThick, 0.0) ; dElev = m_TParams.m_dMaxMat ; } @@ -1616,7 +1624,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) else { string sInfo = "Error in Milling : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - m_pMchMgr->SetLastError( 2305, sInfo.c_str()) ; + m_pMchMgr->SetLastError( 2305, sInfo) ; return false ; } } @@ -1630,7 +1638,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth + max( dThick, 0.0) > dMaxDepth) { string sInfo = "Warning in Milling : machining depth (" + ToString( dElev, 1) + ") bigger than MaxDepth (" + ToString( dMaxDepth, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2358, sInfo) ; dDepth = dMaxDepth - max( dThick, 0.0) ; dElev = dMaxDepth ; } @@ -1649,7 +1657,7 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) if ( dSideElev > m_TParams.m_dMaxMat) { string sInfo = "Error in Milling : machining depth (" + ToString( dSideElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - m_pMchMgr->SetLastError( 2305, sInfo.c_str()) ; + m_pMchMgr->SetLastError( 2305, sInfo) ; return false ; } } diff --git a/Mortising.cpp b/Mortising.cpp index 21f6d5f..b5639d4 100644 --- a/Mortising.cpp +++ b/Mortising.cpp @@ -46,6 +46,14 @@ using namespace std ; // 2512 = "Error in Mortising : post apply not calculable" // 2513 = "Error in Mortising : Tool MaxMaterial too small (xx)" // 2514 = "Error in Mortising : Closed path not allowed" +// 2551 = "Warning in Mortising : Skipped entity (xx)" +// 2552 = "Warning in Mortising : Plunges not found" +// 2553 = "Warning in Mortising : Tool name changed (xx)" +// 2554 = "Warning in Mortising : Tool data changed (xx)" +// 2555 = "Warning in Mortising : skipped Path too short" +// 2556 = "Warning in Mortising : machining step too small (xx)" +// 2557 = "Warning in Mortising : machining step (xxx) bigger than MaxMaterial (yyy)" +// 2558 = "Warning in Mortising : machining depth (xxx) bigger than MaxMaterial (yyy)" //---------------------------------------------------------------------------- USEROBJ_REGISTER( GetOperationClass( OPER_MORTISING), Mortising) ; @@ -418,8 +426,8 @@ Mortising::SetGeometry( const SELVECTOR& vIds) // test sull'entità int nSubs ; if ( ! VerifyGeometry( Id, nSubs, nType)) { - string sOut = "Entity " + ToString( Id) + " skipped by Mortising" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Mortising : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2551, sInfo) ; continue ; } // posso aggiungere alla lista @@ -596,7 +604,7 @@ Mortising::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nMortises == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Mortising : Plunges not found") + m_pMchMgr->SetWarning( 2552, "Warning in Mortising : Plunges not found") ; return true ; } @@ -789,15 +797,15 @@ Mortising::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Mortising : tool name changed (" + - m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Mortising : tool name changed (" + + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; + m_pMchMgr->SetWarning( 2553, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Mortising : tool data changed (" + - m_Params.m_sToolName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Mortising : tool data changed (" + + m_Params.m_sToolName + ")" ; + m_pMchMgr->SetWarning( 2554, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -981,8 +989,8 @@ Mortising::Chain( int nGrpDestId) vpCrvs.emplace_back( GetCurve( Id)) ; // ne verifico la validità if ( IsNull( vpCrvs.back())) { - string sOut = "Entity " + ToString( Id) + " skipped by Mortising" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Mortising : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2551, sInfo) ; vpCrvs.back().Reset() ; } } @@ -1128,7 +1136,7 @@ Mortising::ProcessPath( int nPathId, int nPvId, int nClId) // 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_WARN( GetEMkLogger(), "Warning in Mortising : skipped Path too small") ; + m_pMchMgr->SetWarning( 2555, "Warning in Mortising : skipped Path too short") ; return true ; } // se una sola entità circonferenza completa, la divido in due per poterla allungare @@ -1237,7 +1245,7 @@ Mortising::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = MIN_ZSTEP ; string sInfo = "Warning in Mortising : machining step too small (" + ToString( m_Params.m_dStep, 2) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2556, sInfo) ; } // verifico che il massimo materiale dell'utensile sia sensato @@ -1256,7 +1264,7 @@ Mortising::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = m_TParams.m_dMaxMat ; string sInfo = "Warning in Mortising : machining step (" + ToString( m_Params.m_dStep, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2557, sInfo) ; } // se lavorazione singola e l'elevazione supera la capacità dell'utensile if ( ( dOkStep < EPS_SMALL || dOkStep > dElev) && dElev > m_TParams.m_dMaxMat + EPS_SMALL) { @@ -1265,13 +1273,13 @@ Mortising::ProcessPath( int nPathId, int nPvId, int nClId) dDepth = m_TParams.m_dMaxMat - max( dThick, 0.0) ; string sInfo = "Warning in Mortising : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2558, sInfo) ; } // altrimenti errore else { string sInfo = "Error in Mortising : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - m_pMchMgr->SetLastError( 2505, sInfo.c_str()) ; + m_pMchMgr->SetLastError( 2505, sInfo) ; return false ; } } diff --git a/Pocketing.cpp b/Pocketing.cpp index 7e5b868..f34d04b 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -69,6 +69,14 @@ using namespace std ; // 2428 = "Error in Pocketing : Tool loading failed" // 2429 = "Error in Pocketing : machining depth (xxx) bigger than MaxDepth (yyy)" // 2430 = "Error in Pocketing : adjust open edges failed" +// 2451 = "Warning in Pocketing : Skipped entity (xx)" +// 2452 = "Warning in Pocketing : No machinable pocket" +// 2453 = "Warning in Pocketing : Tool name changed (xx)" +// 2454 = "Warning in Pocketing : Tool data changed (xx)" +// 2455 = "Warning in Pocketing : skipped Path too short" +// 2456 = "Warning in Pocketing : machining step too small (xx)" +// 2457 = "Warning in Pocketing : machining step (xxx) bigger than MaxMaterial (yyy)" +// 2458 = "Warning in Pocketing : machining depth (xxx) bigger than MaxMaterial (yyy)" //---------------------------------------------------------------------------- static std::string KEY_OPEN = "OPEN" ; @@ -463,8 +471,8 @@ Pocketing::SetGeometry( const SELVECTOR& vIds) // test sull'entità int nSubs ; if ( ! VerifyGeometry( Id, nSubs, nType)) { - string sOut = "Entity " + ToString( Id) + " skipped by Milling" ; - LOG_WARN( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Pocketing : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2451, sInfo) ; continue ; } // posso aggiungere alla lista @@ -669,7 +677,7 @@ Pocketing::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nPockets == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Pocketing : No machinable pocket") + m_pMchMgr->SetWarning( 2452, "Warning in Pocketing : No machinable pocket") ; return true ; } @@ -871,15 +879,15 @@ Pocketing::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Pocketing : tool name changed (" + - m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Pocketing : tool name changed (" + + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; + m_pMchMgr->SetWarning( 2453, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Pocketing : tool data changed (" + - m_Params.m_sToolName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + string sInfo = "Warning in Pocketing : tool data changed (" + + m_Params.m_sToolName + ")" ; + m_pMchMgr->SetWarning( 2454, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -1197,8 +1205,8 @@ Pocketing::Chain( int nGrpDestId) // prendo le curve ICURVEPLIST lstPC ; if ( ! GetCurves( Id, lstPC)) { - string sOut = "Entity " + ToString( Id) + " skipped by Pocketing" ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Pocketing : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2451, sInfo) ; } for ( auto pCrv : lstPC) { vpCrvs.emplace_back( pCrv) ; @@ -1451,7 +1459,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = MIN_ZSTEP + EPS_SMALL ; string sInfo = "Warning in Pocketing : machining step too small (" + ToString( m_Params.m_dStep, 2) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2456, sInfo) ; } // verifico che il massimo materiale dell'utensile sia sensato @@ -1469,7 +1477,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) dOkStep = m_TParams.m_dMaxMat + EPS_SMALL ; string sInfo = "Warning in Pocketing : machining step (" + ToString( m_Params.m_dStep, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2457, sInfo) ; } // se lavorazione singola if ( dOkStep < EPS_SMALL || dOkStep > dElev) { @@ -1479,7 +1487,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth + max( dThick, 0.0) > m_TParams.m_dMaxMat) { string sInfo = "Warning in Pocketing : machining depth (" + ToString( dElev, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2458, sInfo) ; dDepth = m_TParams.m_dMaxMat - max( dThick, 0.0) ; dElev = m_TParams.m_dMaxMat ; } @@ -1501,7 +1509,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth + max( dThick, 0.0) > dMaxDepth) { string sInfo = "Warning in Pocketing : machining depth (" + ToString( dElev, 1) + ") bigger than MaxDepth (" + ToString( dMaxDepth, 1) + ")" ; - LOG_INFO( GetEMkLogger(), sInfo.c_str()) ; + m_pMchMgr->SetWarning( 2458, sInfo) ; dDepth = dMaxDepth - max( dThick, 0.0) ; dElev = dMaxDepth ; } diff --git a/Processor.cpp b/Processor.cpp index dac0e6d..6e8a827 100644 --- a/Processor.cpp +++ b/Processor.cpp @@ -77,6 +77,7 @@ Processor::Run( const string& sOutFile, const std::string& sInfo) m_pMchMgr->GetCurrMachGroup() == GDB_ID_NULL) return false ; m_pMchMgr->ResetLastError() ; + m_pMchMgr->ResetWarnings() ; // forzo aggiornamento attrezzaggio della macchinata m_pMchMgr->UpdateSetup() ; diff --git a/Sawing.cpp b/Sawing.cpp index 7c9bbfb..1d13c56 100644 --- a/Sawing.cpp +++ b/Sawing.cpp @@ -55,6 +55,15 @@ using namespace std ; // 2217 = "Error in Sawing : link movements not calculable" // 2218 = "Error in Sawing : link outstroke xxx" // 2219 = "Error in Sawing : post apply not calculable" +// 2251 = "Warning in Sawing : Skipped entity xxx" +// 2252 = "Warning in Sawing : No machinable path" +// 2253 = "Warning in Sawing : Tool name changed (xx)" +// 2254 = "Warning in Sawing : Tool data changed (xx)" +// 2255 = "Warning in Sawing : skipped Path too short" +// 2256 = "Warning in Sawing : Skipped Arc" +// 2257 = "Warning in Sawing : skipped Entity too small" +// 2258 = "Warning in Sawing : Radius too small in ExtSawArc" +// 2259 = "Warning in Sawing : Radius too small in IntSawArc" //---------------------------------------------------------------------------- struct FseVar { @@ -510,8 +519,8 @@ Sawing::SetGeometry( const SELVECTOR& vIds) // test sull'entità int nSubs ; if ( ! VerifyGeometry( Id, nSubs, nType)) { - string sOut = "Warning in Sawing : Skipped entity " + ToString( Id) ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Sawing : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2251, sInfo) ; continue ; } // posso aggiungere alla lista @@ -697,7 +706,7 @@ Sawing::Update( bool bPostApply) // se lavorazione vuota, esco if ( m_nCuts == 0) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : No machinable path") + m_pMchMgr->SetWarning( 2252, "Warning in Sawing : No machinable path") ; return true ; } @@ -923,15 +932,15 @@ Sawing::UpdateToolData( bool* pbChanged) m_TParams = *pTdata ; // eventuali segnalazioni if ( ! EqualNoCase( m_Params.m_sToolName, m_TParams.m_sName)) { - string sLog = "Warning in Sawing : tool name changed (" + + string sInfo = "Warning in Sawing : tool name changed (" + m_Params.m_sToolName + "->" + m_TParams.m_sName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + m_pMchMgr->SetWarning( 2253, sInfo) ; m_Params.m_sToolName = m_TParams.m_sName ; } if ( bChanged) { - string sLog = "Warning in Sawing : tool data changed (" + + string sInfo = "Warning in Sawing : tool data changed (" + m_Params.m_sToolName + ")" ; - LOG_INFO( GetEMkLogger(), sLog.c_str()) ; + m_pMchMgr->SetWarning( 2254, sInfo) ; } // se definito parametro di ritorno, lo assegno if ( pbChanged != nullptr) @@ -1132,8 +1141,8 @@ Sawing::Chain( int nGrpDestId) vpCrvs.emplace_back( GetCurve( Id)) ; // ne verifico la validità if ( IsNull( vpCrvs.back())) { - string sOut = "Warning in Sawing : Skipped entity " + ToString( Id) ; - LOG_INFO( GetEMkLogger(), sOut.c_str()) ; + string sInfo = "Warning in Sawing : Skipped entity " + ToString( Id) ; + m_pMchMgr->SetWarning( 2251, sInfo) ; vpCrvs.back().Reset() ; } } @@ -1306,7 +1315,7 @@ Sawing::ProcessPath( int nPathId, int nPvId, int nClId) // 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_WARN( GetEMkLogger(), "Warning in Sawing : skipped Path too small") ; + m_pMchMgr->SetWarning( 2255, "Warning in Sawing : skipped Path too short") ; return true ; } @@ -1412,7 +1421,7 @@ Sawing::ProcessPath( int nPathId, int nPvId, int nClId) if ( dDepth > m_TParams.m_dMaxMat + EPS_SMALL) { string sOut = "Error in Sawing : machining depth (" + ToString( dDepth, 1) + ") bigger than MaxMaterial (" + ToString( m_TParams.m_dMaxMat, 1) + ")" ; - m_pMchMgr->SetLastError( 2206, sOut.c_str()) ; + m_pMchMgr->SetLastError( 2206, sOut) ; return false ; } @@ -1553,7 +1562,7 @@ Sawing::ProcessEntity( const ICurve* pCrvP, const ICurve* pCrvC, const ICurve* p } } else { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : Skipped Arc") ; + m_pMchMgr->SetWarning( 2256, "Warning in Sawing : Skipped Arc") ; return true ; } } @@ -1632,7 +1641,7 @@ Sawing::ProcessLine( const ICurve* pCrvP, const ICurveLine* pLineC, const ICurve return false ; } if ( bToSkip) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : skipped Entity too small") ; + m_pMchMgr->SetWarning( 2257, "Warning in Sawing : skipped Entity too small") ; return true ; } @@ -2032,7 +2041,7 @@ Sawing::ProcessExtCurve( const ICurve* pCrvP, const ICurveComposite* pCrvC, cons } } if ( dMinRad < m_pMchMgr->GetCurrMachiningsMgr()->GetExtSawArcMinRad()) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : Radius too small in ExtSawArc") ; + m_pMchMgr->SetWarning( 2258, "Warning in Sawing : Radius too small in ExtSawArc") ; return true ; } // se richiesta generazione, verifico limite standard angolo al centro archi @@ -2127,7 +2136,7 @@ Sawing::ProcessExtCurve( const ICurve* pCrvP, const ICurveComposite* pCrvC, cons return false ; } if ( bToSkip) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : skipped Entity too small") ; + m_pMchMgr->SetWarning( 2257, "Warning in Sawing : skipped Entity too small") ; return true ; } @@ -2733,7 +2742,7 @@ Sawing::ProcessIntArc( const ICurve* pCrvP, const ICurveArc* pArcC, const ICurve double dRad = pArc->GetRadius() ; double dSinA = dSawRad / dRad ; if ( dSinA > sin( dMaxSideAng * DEGTORAD)) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : Radius too small in IntSawArc") ; + m_pMchMgr->SetWarning( 2259, "Warning in Sawing : Radius too small in IntSawArc") ; return true ; } double dSideAng = - asin( dSinA) * RADTODEG ; @@ -2821,7 +2830,7 @@ Sawing::ProcessIntArc( const ICurve* pCrvP, const ICurveArc* pArcC, const ICurve return false ; } if ( bToSkip) { - LOG_WARN( GetEMkLogger(), "Warning in Sawing : skipped Entity too small") ; + m_pMchMgr->SetWarning( 2257, "Warning in Sawing : skipped Entity too small") ; return true ; } // ricalcolo i versori fresa alle estremità (potrebbero essere cambiate) diff --git a/Simulator.cpp b/Simulator.cpp index e7bfe9f..94e045f 100644 --- a/Simulator.cpp +++ b/Simulator.cpp @@ -106,6 +106,7 @@ Simulator::Start( bool bFirst) m_pMchMgr->GetCurrMachGroup() == GDB_ID_NULL) return false ; m_pMchMgr->ResetLastError() ; + m_pMchMgr->ResetWarnings() ; // Forzo aggiornamento attrezzaggio della macchinata bool bOk = m_pMchMgr->UpdateSetup() ;