From 8d675199ed81ce8b7f60aa59b9864164a6d0e06d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 5 Feb 2018 07:17:36 +0000 Subject: [PATCH] EgtMachKernel 1.9b1 : - gestione punto finale EMT.END di percorso originale per post-processore. --- Chiseling.cpp | 3 ++- Drilling.cpp | 3 ++- EgtMachKernel.rc | Bin 11774 -> 11774 bytes Generator.cpp | 11 +++++++---- Generator.h | 2 +- Milling.cpp | 9 +++++---- OutputConst.h | 1 + Pocketing.cpp | 6 +++--- Sawing.cpp | 11 ++++++++--- 9 files changed, 29 insertions(+), 17 deletions(-) diff --git a/Chiseling.cpp b/Chiseling.cpp index c3630b9..757dd99 100644 --- a/Chiseling.cpp +++ b/Chiseling.cpp @@ -1227,8 +1227,9 @@ Chiseling::ProcessPath( int nPathId, int nPvId, int nClId) // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, vtTool) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_START, vSqHole[i].ptIni) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, vSqHole[i].ptIni) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; // assegno al gruppo l'ingombro del percorso di scalpellatura diff --git a/Drilling.cpp b/Drilling.cpp index 0389aae..643f7a0 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -922,8 +922,9 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName return false ; // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPathId, KEY_EXTR, hole.vtDir) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso m_pGeomDB->SetInfo( nPathId, KEY_START, hole.ptIni) ; + m_pGeomDB->SetInfo( nPathId, KEY_END, hole.ptIni) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPathId, KEY_ELEV, hole.dLen) ; // foro normale diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index d32dccbe16bb1f8ae9859c7c88e299ccb9a482d0..0a9e3ae589ece737be46eeebb27bceb4d8622a26 100644 GIT binary patch delta 121 zcmewt{V#gMH#Sxy1|0^&&A-{KnVFLq3@1O7)ZLuM)x!c8zsNNCgkT;*P6$a3MUMyL R=2g-z%(yjz6ex#q0RU$`CV&6{ delta 121 zcmewt{V#gMH#Sy71|0^I&A-{KnVAzAOeQ~+)ZLuM)x!c8zsNNCgkT;*P6$a3MUMyL R=2g-z%(yjz6ex#q0RU?$CXfIC diff --git a/Generator.cpp b/Generator.cpp index a3cb4f7..4ea5467 100644 --- a/Generator.cpp +++ b/Generator.cpp @@ -364,9 +364,11 @@ Generator::ProcessMachining( int nOpId, int nOpInd) bool Generator::ProcessClPath( int nClPathId, int nClPathInd, int nOpId, int nOpInd) { - // Recupero punto di inizio del percorso + // Recupero punti di inizio e fine del percorso Point3d ptStart ; m_pGeomDB->GetInfo( nClPathId, KEY_START, ptStart) ; + Point3d ptEnd ; + m_pGeomDB->GetInfo( nClPathId, KEY_END, ptEnd) ; // Recupero versore estrusione associato al percorso (normale al piano di interpolazione) Vector3d vtExtr ; m_pGeomDB->GetInfo( nClPathId, KEY_EXTR, vtExtr) ; @@ -381,7 +383,7 @@ Generator::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, vtExtr, ptMin, ptMax, dElev)) + if ( ! OnPathStart( nClPathId, nClPathInd, nAS, ptStart, ptEnd, vtExtr, ptMin, ptMax, dElev)) return false ; // Emissione eventuali dati ausiliari di inizio @@ -861,7 +863,7 @@ Generator::OnMachiningEnd( void) //---------------------------------------------------------------------------- bool -Generator::OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, +Generator::OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtExtr, const Point3d& ptMin, const Point3d& ptMax, double dElev) { // assegno identificativo e indice percorso di lavorazione @@ -869,8 +871,9 @@ Generator::OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& p bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PATHIND, nClPathInd) ; // assegno numero di dati ausiliari iniziali bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_AUXTOT, nAS) ; - // assegno punto iniziale e versore estrusione + // assegno punti iniziale e finale e versore estrusione del percorso originale bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_START, ptStart) ; + bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_END, ptEnd) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_EXTR, vtExtr) ; // assegno punti estremi dell'ingombro del percorso di lavorazione bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PMIN, ptMin) ; diff --git a/Generator.h b/Generator.h index fc1b6ef..fa97314 100644 --- a/Generator.h +++ b/Generator.h @@ -52,7 +52,7 @@ class Generator bool OnRawMoveData( int nRawId, int RawMoveInd, int nType, const Point3d& ptPos, int nFlag) ; bool OnMachiningStart( int nOpId, int nOpInd, double dSpeed) ; bool OnMachiningEnd( void) ; - bool OnPathStart( int nClPathId, int nClPathInd, int nAS, const Point3d& ptStart, + 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) ; bool OnPathEnd( int nAE) ; bool OnPathStartAux( int nInd, const std::string& sAS) ; diff --git a/Milling.cpp b/Milling.cpp index 3890e19..500991f 100644 --- a/Milling.cpp +++ b/Milling.cpp @@ -1377,9 +1377,9 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) if ( ! pCompo->MergeCurves( 10 * EPS_SMALL, 10 * EPS_ANG_SMALL, false)) return false ; - // recupero il punto di inizio (per poi salvarlo nelle info di CL path) - Point3d ptStart ; - pCompo->GetStartPoint( ptStart) ; + // recupero i punti di inizio e fine (per poi salvarlo nelle info di CL path) + Point3d ptStart ; pCompo->GetStartPoint( ptStart) ; + Point3d ptEnd ; pCompo->GetEndPoint( ptEnd) ; // recupero il box del grezzo in globale BBox3d b3Raw ; @@ -1519,8 +1519,9 @@ Milling::ProcessPath( int nPathId, int nPvId, int nClId) // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, vtTool) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_START, ptStart) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, ptEnd) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; diff --git a/OutputConst.h b/OutputConst.h index ddd2bb9..bb6a53b 100644 --- a/OutputConst.h +++ b/OutputConst.h @@ -72,6 +72,7 @@ static const std::string GVAR_MCHIND = ".MCHIND" ; // (int) indice lav static const std::string GVAR_PATHID = ".PATHID" ; // (int) identificativo percorso di lavorazione static const std::string GVAR_PATHIND = ".PATHIND" ; // (int) indice percorso di lavorazione static const std::string GVAR_START = ".START" ; // (Point3d) punto iniziale del percorso originale +static const std::string GVAR_END = ".END" ; // (Point3d) punto finale del percorso originale static const std::string GVAR_EXTR = ".EXTR" ; // (Vector3d)versore estrusione static const std::string GVAR_PMIN = ".PMIN" ; // (Point3d) punto minimo di ingombro del percorso di lavorazione static const std::string GVAR_PMAX = ".PMAX" ; // (Point3d) punto massimo di ingombro del percorso di lavorazione diff --git a/Pocketing.cpp b/Pocketing.cpp index 7667c20..6158cc1 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -1108,8 +1108,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) return false ; // recupero il punto di inizio (per poi salvarlo nelle info di CL path) - Point3d ptStart ; - pCompo->GetStartPoint( ptStart) ; + Point3d ptStart ; pCompo->GetStartPoint( ptStart) ; // recupero il box del grezzo in globale BBox3d b3Raw ; @@ -1241,8 +1240,9 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId) // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, vtTool) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_START, ptStart) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, ptStart) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; diff --git a/Sawing.cpp b/Sawing.cpp index 1ec7ab2..2b601aa 100644 --- a/Sawing.cpp +++ b/Sawing.cpp @@ -1561,8 +1561,9 @@ Sawing::GenerateLineCl( const ICurveLine* pLine, const Vector3d& vtTool, const V m_pGeomDB->SetMaterial( nPxId, BLUE) ; // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, Vector3d( 0, 0, 1)) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_START, pLine->GetStart()) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, pLine->GetEnd()) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; // assegno delta per taglio esteso al bordo grezzo @@ -2174,9 +2175,11 @@ Sawing::GenerateExtCurveCl( const ICurveComposite* pCrv, // assegno il vettore estrusione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, Z_AX) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso Point3d ptStart ; pCrv->GetStartPoint( ptStart) ; m_pGeomDB->SetInfo( nPxId, KEY_START, ptStart) ; + Point3d ptEnd ; pCrv->GetEndPoint( ptEnd) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, ptEnd) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; // Imposto dati comuni @@ -2840,9 +2843,11 @@ Sawing::GenerateIntArcCl( const ICurveArc* pArc, m_pGeomDB->SetMaterial( nPxId, BLUE) ; // assegno il vettore estrazione al gruppo del percorso m_pGeomDB->SetInfo( nPxId, KEY_EXTR, Z_AX) ; - // assegno il punto di inizio al gruppo del percorso + // assegno i punti di inizio e fine al gruppo del percorso Point3d ptStart ; pArc->GetStartPoint( ptStart) ; m_pGeomDB->SetInfo( nPxId, KEY_START, ptStart) ; + Point3d ptEnd ; pArc->GetEndPoint( ptEnd) ; + m_pGeomDB->SetInfo( nPxId, KEY_END, ptEnd) ; // assegno l'elevazione massima m_pGeomDB->SetInfo( nPxId, KEY_ELEV, dElev) ; // Imposto dati comuni