From 93a5bd72c7c8e2163982675e8a70e8e5ad935d8d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 16 Oct 2023 16:10:24 +0200 Subject: [PATCH] =?UTF-8?q?EgtMachKernel=202.5j2=20:=20-=20in=20creazione?= =?UTF-8?q?=20disegno=20utensile=20si=20nascondono=20eventuali=20Carter=20?= =?UTF-8?q?se=20=C3=A8=20per=20visualizzazione=20in=20gestione=20DB=20uten?= =?UTF-8?q?sili=20-=20in=20OnToolData=20per=20generazione=20aggiunto=20par?= =?UTF-8?q?ametro=20tipo=20utensile=20EMT.TTYPE=20-=20in=20simulazione=20s?= =?UTF-8?q?i=20lancia=20UpdateCurrSetup=20solo=20al=20primo=20avvio.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EgtMachKernel.rc | Bin 11782 -> 11782 bytes MachMgrDBTools.cpp | 12 +++++++++++- OutputConst.h | 1 + Processor.cpp | 9 +++++++-- Simulator.cpp | 16 +++++++++++----- 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 45676abf4bad8787e6528675976c7105281c4c17..91071b147c023ead1d7beae99d4e231aa397db2c 100644 GIT binary patch delta 97 zcmZpRX^YwLhmFx_^ItYwW=5mQj>5W|vxM9jH?QON0rG*u7nvrX5iEd9O=7{OSQ@Kh Hr8(RHP01iS delta 97 zcmZpRX^YwLhmFy2^ItYwW=6xwj>5W|vxM9jH?QON0rG*u7nvrX5iEd9O=7{OSQ@Kh Hr8(RHOf?`f diff --git a/MachMgrDBTools.cpp b/MachMgrDBTools.cpp index abd0d94..0249df0 100644 --- a/MachMgrDBTools.cpp +++ b/MachMgrDBTools.cpp @@ -721,7 +721,7 @@ MachMgr::UpdateStandardToolDraw( const ToolData* pTdata, int nGenCtx, int nToolC if ( ! ExeLuaGetGlobIntVar( "TOOL.ERR", &nErr) || nErr != 0) return nErr ; // Se per salvataggio - if ( bOk && bToSave) { + if ( bOk && bToSave) { // Nascondo layer ausiliario int nAuxId = ExeGetFirstNameInGroup( ExeGetFirstGroupInGroup( GDB_ID_ROOT), "AUX") ; ExeSetStatus( { nAuxId}, GDB_ST_OFF) ; @@ -731,6 +731,16 @@ MachMgr::UpdateStandardToolDraw( const ToolData* pTdata, int nGenCtx, int nToolC ExeRotate( { nPartId}, ORIG, Z_AX, -90, RTY_GLOB) ; } } + // altrimenti per visualizzazione + else if ( bOk) { + // Nascondo oggetto/i Carter + int nSolidId = ExeGetFirstNameInGroup( ExeGetFirstGroupInGroup( GDB_ID_ROOT), "SOLID") ; + int nCarterId = ExeGetFirstNameInGroup( nSolidId, "Carter") ; + while ( nCarterId != GDB_ID_NULL) { + ExeSetStatus( { nCarterId}, GDB_ST_OFF) ; + nCarterId = ExeGetNextName( nCarterId, "Carter") ; + } + } return ( bOk ? 0 : TD_INT_ERR) ; } diff --git a/OutputConst.h b/OutputConst.h index 6398959..468f5ef 100644 --- a/OutputConst.h +++ b/OutputConst.h @@ -60,6 +60,7 @@ static const std::string GVAR_TOOL = ".TOOL" ; // (string) nome uten static const std::string GVAR_HEAD = ".HEAD" ; // (string) nome testa static const std::string GVAR_EXIT = ".EXIT" ; // (int) indice uscita static const std::string GVAR_TCPOS = ".TCPOS" ; // (string) eventuale posizione utensile nel TC +static const std::string GVAR_TTYPE = ".TTYPE" ; // (int) tipo utensile static const std::string GVAR_TCOMP = ".TCOMP" ; // (int) numero correttore utensile static const std::string GVAR_TDIAM = ".TDIAM" ; // (num) diametro utensile static const std::string GVAR_TTOTDIAM = ".TTOTDIAM" ; // (num) diametro totale utensile diff --git a/Processor.cpp b/Processor.cpp index 914daec..aca3ace 100644 --- a/Processor.cpp +++ b/Processor.cpp @@ -603,6 +603,7 @@ Processor::ProcessToolData( void) string sHead ; int nExit ; string sTcPos ; + int nType ; int nComp ; double dDiam ; double dTDiam ; @@ -611,7 +612,7 @@ Processor::ProcessToolData( void) double dDist ; double dMaxSpeed ; MyToolData( void) - : sName(), sHead(), nExit( 0), sTcPos(), nComp(0), dDiam( 0), dLen( 0), dDist( 0), dMaxSpeed( 0) {} + : sName(), sHead(), nExit( 0), sTcPos(), nType(0), nComp(0), dDiam( 0), dLen( 0), dDist( 0), dMaxSpeed( 0) {} } ; typedef vector TDATAVECTOR ; TDATAVECTOR vTdata ; @@ -636,6 +637,7 @@ Processor::ProcessToolData( void) m_pMchMgr->TdbGetCurrToolParam( TPA_HEAD, Tdata.sHead) ; m_pMchMgr->TdbGetCurrToolParam( TPA_EXIT, Tdata.nExit) ; m_pMchMgr->TdbGetCurrToolParam( TPA_TCPOS, Tdata.sTcPos) ; + m_pMchMgr->TdbGetCurrToolParam( TPA_TYPE, Tdata.nType) ; m_pMchMgr->TdbGetCurrToolParam( TPA_CORR, Tdata.nComp) ; m_pMchMgr->TdbGetCurrToolParam( TPA_DIAM, Tdata.dDiam) ; m_pMchMgr->TdbGetCurrToolParam( TPA_TOTDIAM, Tdata.dTDiam) ; @@ -674,7 +676,8 @@ Processor::ProcessToolData( void) bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_EXIT, nExit) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TCPOS, sTcPos) ; if ( m_pMchMgr->TdbSetCurrTool( sTool)) { - int nComp ; double dDiam ; double dTDiam ; double dLen ; double dTLen ; double dDist ; double dMaxSpeed ; + int nType ; int nComp ; double dDiam ; double dTDiam ; double dLen ; double dTLen ; double dDist ; double dMaxSpeed ; + m_pMchMgr->TdbGetCurrToolParam( TPA_TYPE, nType) ; m_pMchMgr->TdbGetCurrToolParam( TPA_CORR, nComp) ; m_pMchMgr->TdbGetCurrToolParam( TPA_DIAM, dDiam) ; m_pMchMgr->TdbGetCurrToolParam( TPA_TOTDIAM, dTDiam) ; @@ -682,6 +685,7 @@ Processor::ProcessToolData( void) m_pMchMgr->TdbGetCurrToolParam( TPA_TOTLEN, dTLen) ; m_pMchMgr->TdbGetCurrToolParam( TPA_DIST, dDist) ; m_pMchMgr->TdbGetCurrToolParam( TPA_MAXSPEED, dMaxSpeed) ; + bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TTYPE, nType) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TCOMP, nComp) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TDIAM, dDiam) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TTOTDIAM, dTDiam) ; @@ -721,6 +725,7 @@ Processor::ProcessToolData( void) bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_HEAD, vTdata[i].sHead) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_EXIT, vTdata[i].nExit) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TCPOS, vTdata[i].sTcPos) ; + bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TTYPE, vTdata[i].nType) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TCOMP, vTdata[i].nComp) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TDIAM, vTdata[i].dDiam) ; bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TTOTDIAM, vTdata[i].dTDiam) ; diff --git a/Simulator.cpp b/Simulator.cpp index 8d1c24b..1b392cb 100644 --- a/Simulator.cpp +++ b/Simulator.cpp @@ -125,12 +125,17 @@ Simulator::Start( bool bFirst) m_pMchMgr->ResetLastError() ; m_pMchMgr->ResetWarnings() ; - // Forzo aggiornamento attrezzaggio della macchinata - bool bOk = m_pMchMgr->UpdateCurrSetup() ; + bool bOk = true ; - // Se avvio vero, verifico attrezzaggio - if ( bFirst && ! VerifySetup()) - bOk = false ; + // Se avvio vero + if ( bFirst) { + // Forzo aggiornamento attrezzaggio della macchinata + if ( ! m_pMchMgr->UpdateCurrSetup()) + bOk = false ; + // Verifico attrezzaggio + if ( ! VerifySetup()) + bOk = false ; + } // Reset utensile, interpolazione e assi correnti m_sTool.clear() ; @@ -141,6 +146,7 @@ Simulator::Start( bool bFirst) ResetInterpolation() ; ResetAxes() ; ResetAuxAxes() ; + // porto la macchina in home if ( ! GoHome()) bOk = false ;