From 0449f191e741c502a39ddec19fad61700344fa51 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sat, 12 Dec 2020 10:40:12 +0000 Subject: [PATCH] =?UTF-8?q?EgtMachKernel=202.2l2=20:=20-=20aggiunti=20mini?= =?UTF-8?q?mi=20e=20massimi=20dei=20valori=20assi=20per=20percorso=20di=20?= =?UTF-8?q?lavoro=20e=20lavorazione=20a=20Simulator=20come=20gi=C3=A0=20fa?= =?UTF-8?q?tto=20per=20Postproc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EgtMachKernel.rc | Bin 11782 -> 11782 bytes Simulator.cpp | 26 +++++++++++++++++++++----- Simulator.h | 6 ++++-- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 5f66eb49855fb80349aa99c3df12cb44a22caf29..40d82cc138593d088fa450a0f5eb8e1e1ece1d04 100644 GIT binary patch delta 105 zcmZpRX^YwLhmFx_^ItY=X676QqsflKx|_3v+!!~nGetInfo( nClId, KEY_MMIN, ptMin) ; m_pGeomDB->GetInfo( nClId, KEY_MMAX, ptMax) ; + DBLVECTOR vAxMin, vAxMax ; + m_pGeomDB->GetInfo( nClId, KEY_MAXMIN, vAxMin) ; + m_pGeomDB->GetInfo( nClId, KEY_MAXMAX, vAxMax) ; // richiamo gestione evento inizio lavorazione - if ( ! OnMachiningStart( m_nOpId, m_nOpInd, ptMin, ptMax)) { + if ( ! OnMachiningStart( m_nOpId, m_nOpInd, ptMin, ptMax, vAxMin, vAxMax)) { nStatus = ( Stopped() ? MCH_SIM_STOP : MCH_SIM_ERR) ; return false ; } @@ -755,6 +758,10 @@ Simulator::FindAndManagePathStart( int& nStatus) Point3d ptMin, ptMax ; m_pGeomDB->GetInfo( m_nCLPathId, KEY_PMIN, ptMin) ; m_pGeomDB->GetInfo( m_nCLPathId, KEY_PMAX, ptMax) ; + // Recupero valori degli assi di minimo e massimo ingombro + DBLVECTOR vAxMin, vAxMax ; + m_pGeomDB->GetInfo( m_nCLPathId, KEY_PAXMIN, vAxMin) ; + m_pGeomDB->GetInfo( m_nCLPathId, KEY_PAXMAX, vAxMax) ; // recupero massima elevazione double dElev = 0 ; m_pGeomDB->GetInfo( m_nCLPathId, KEY_ELEV, dElev) ; @@ -766,7 +773,7 @@ Simulator::FindAndManagePathStart( int& nStatus) m_nAuxEInd = 0 ; m_nAuxETot = 0 ; // richiamo gestione evento inizio percorso di lavoro - if ( ! OnPathStart( m_nCLPathId, m_nCLPathInd, m_nAuxSTot, ptStart, ptEnd, vtExtr, ptMin, ptMax, dElev)) { + if ( ! OnPathStart( m_nCLPathId, m_nCLPathInd, m_nAuxSTot, ptStart, ptEnd, vtExtr, ptMin, ptMax, vAxMin, vAxMax, dElev)) { nStatus = ( Stopped() ? MCH_SIM_STOP : MCH_SIM_ERR) ; return false ; } @@ -1424,7 +1431,8 @@ Simulator::OnToolDeselect( const string& sNextTool, const string& sNextHead, int //---------------------------------------------------------------------------- bool -Simulator::OnMachiningStart( int nOpId, int nOpInd, const Point3d& ptMin, const Point3d& ptMax) +Simulator::OnMachiningStart( int nOpId, int nOpInd, const Point3d& ptMin, const Point3d& ptMax, + const DBLVECTOR& vAxMin, const DBLVECTOR& vAxMax) { // assegno identificativo e indice lavorazione if ( ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MCHID, nOpId) || @@ -1432,7 +1440,11 @@ Simulator::OnMachiningStart( int nOpId, int nOpInd, const Point3d& ptMin, const return false ; // assegno punti estremi dell'ingombro della lavorazione if ( ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MMIN, ptMin) || - ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MMAX, ptMax) ) + ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MMAX, ptMax)) + return false ; + // assegno punti estremi dell'ingombro degli assi della lavorazione + if ( ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MAXMIN, vAxMin) || + ! m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MAXMAX, vAxMax)) return false ; // verifico esistenza funzione if ( ! m_pMachine->LuaExistsFunction( ON_SIMUL_MACHINING_START)) @@ -1461,7 +1473,8 @@ Simulator::OnMachiningEnd( void) //---------------------------------------------------------------------------- bool Simulator::OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, const Point3d& ptEnd, - const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, double dElev) + const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, + const DBLVECTOR& vAxMin, const DBLVECTOR& vAxMax, double dElev) { // assegno identificativo e indice percorso di lavorazione bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PATHID, nClPathId) ; @@ -1475,6 +1488,9 @@ Simulator::OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& p // assegno punti estremi dell'ingombro del percorso di lavorazione bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PMIN, ptMin) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PMAX, ptMax) ; + // assegno punti estremi dell'ingombro degli assi della lavorazione + bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PAXMIN, vAxMin) ; + bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PAXMAX, vAxMax) ; // assegno la massima elevazione bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_ELEV, dElev) ; // verifico esistenza funzione diff --git a/Simulator.h b/Simulator.h index 23d2506..2e454eb 100644 --- a/Simulator.h +++ b/Simulator.h @@ -74,12 +74,14 @@ class Simulator bool OnDispositionEnd( void) ; bool OnToolSelect( const std::string& sTool, const std::string& sHead, int nExit, const std::string& sTcPos, bool bFirst) ; bool OnToolDeselect( const std::string& sNextTool, const std::string& sNextHead, int nNextExit, const std::string& sNextTcPos) ; - bool OnMachiningStart( int nOpId, int nOpInd, const Point3d& ptMin, const Point3d& ptMax) ; + bool OnMachiningStart( int nOpId, int nOpInd, const Point3d& ptMin, const Point3d& ptMax, + const DBLVECTOR& vAxMin, const DBLVECTOR& vAxMax) ; bool OnMachiningEnd( void) ; bool OnPathStartAux( int nInd, const std::string& sAS, int& nErr) ; bool OnPathEndAux( int nInd, const std::string& sAE, int& nErr) ; bool OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, const Point3d& ptEnd, - const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, double dElev) ; + const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, + const DBLVECTOR& vAxMin, const DBLVECTOR& vAxMax, double dElev) ; bool OnPathEnd( int nAE) ; bool OnMoveStart( const CamData* pCamData, int& nErr) ; bool OnMoveEnd( void) ;