EgtMachKernel 2.2l1 :

- aggiunti minimi e massi dei valori assi per percorso di lavoro e lavorazione a Postproc
- modificata scelta punto di inizio lavorazione WaterJetting chiusa.
This commit is contained in:
Dario Sassi
2020-12-07 08:16:06 +00:00
parent 3c49d6bdde
commit 839633d072
19 changed files with 166 additions and 30 deletions
+20 -5
View File
@@ -325,14 +325,17 @@ Processor::ProcessMachining( int nOpId, int nOpInd)
if ( ! m_pMchMgr->GetMachiningParam( MPA_SPEED, dSpeed))
return false ;
// Recupero punti di minimo e massimo ingombro
// Recupero punti di minimo e massimo di ingombro e degli assi
int nClId = m_pGeomDB->GetFirstNameInGroup( nOpId, MCH_CL) ;
Point3d ptMin, ptMax ;
m_pGeomDB->GetInfo( 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) ;
// Emetto inizio lavorazione
if ( ! OnMachiningStart( nOpId, nOpInd, dSpeed, ptMin, ptMax))
if ( ! OnMachiningStart( nOpId, nOpInd, dSpeed, ptMin, ptMax, vAxMin, vAxMax))
return false ;
// Ciclo su tutti i percorsi CL della lavorazione
@@ -370,6 +373,10 @@ Processor::ProcessClPath( int nClPathId, int nClPathInd, int nOpId, int nOpInd)
Point3d ptMin, ptMax ;
m_pGeomDB->GetInfo( nClPathId, KEY_PMIN, ptMin) ;
m_pGeomDB->GetInfo( nClPathId, KEY_PMAX, ptMax) ;
// Recupero valori degli assi di minimo e massimo ingombro
DBLVECTOR vAxMin, vAxMax ;
m_pGeomDB->GetInfo( nClPathId, KEY_PAXMIN, vAxMin) ;
m_pGeomDB->GetInfo( nClPathId, KEY_PAXMAX, vAxMax) ;
// Recupero massima elevazione
double dElev = 0 ;
m_pGeomDB->GetInfo( nClPathId, KEY_ELEV, dElev) ;
@@ -377,7 +384,7 @@ Processor::ProcessClPath( int nClPathId, int nClPathInd, int nOpId, int nOpInd)
int nAS = 0 ;
m_pGeomDB->GetInfo( nClPathId, KEY_AS_TOT, nAS) ;
// Emetto inizio percorso di lavoro
if ( ! OnPathStart( nClPathId, nClPathInd, nAS, ptStart, ptEnd, vtExtr, ptMin, ptMax, dElev))
if ( ! OnPathStart( nClPathId, nClPathInd, nAS, ptStart, ptEnd, vtExtr, ptMin, ptMax, vAxMin, vAxMax, dElev))
return false ;
// Emissione eventuali dati ausiliari di inizio
@@ -852,7 +859,8 @@ Processor::OnToolDeselect( const string& sNextTool, const string& sNextHead, int
//----------------------------------------------------------------------------
bool
Processor::OnMachiningStart( int nOpId, int nOpInd, double dSpeed, const Point3d& ptMin, const Point3d& ptMax)
Processor::OnMachiningStart( int nOpId, int nOpInd, double dSpeed, const Point3d& ptMin, const Point3d& ptMax,
const DBLVECTOR& vAxMin, const DBLVECTOR& vAxMax)
{
// assegno identificativo e indice lavorazione
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MCHID, nOpId) ;
@@ -862,6 +870,9 @@ Processor::OnMachiningStart( int nOpId, int nOpInd, double dSpeed, const Point3d
// assegno punti estremi dell'ingombro della lavorazione
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MMIN, ptMin) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MMAX, ptMax) ;
// assegno punti estremi dell'ingombro degli assi della lavorazione
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MAXMIN, vAxMin) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MAXMAX, vAxMax) ;
// chiamo la funzione di inizio lavorazione
bOk = bOk && CallOnMachiningStart() ;
return bOk ;
@@ -879,7 +890,8 @@ Processor::OnMachiningEnd( void)
//----------------------------------------------------------------------------
bool
Processor::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) ;
@@ -893,6 +905,9 @@ Processor::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) ;
// chiamo la funzione di inizio percorso di lavorazione