d9cf624458
- aggiunte funzioni Exe e Lua CopyMachGroup.
3555 lines
122 KiB
C++
3555 lines
122 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2019
|
|
//----------------------------------------------------------------------------
|
|
// File : EXE_MachMgr.cpp Data : 15.10.19 Versione : 2.1j4
|
|
// Contenuto : Funzioni Machining Manager per EXE.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 23.03.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "EXE.h"
|
|
#include "EXE_Macro.h"
|
|
#include "LUA_Base.h"
|
|
#include "AuxTools.h"
|
|
#include "DllMachKernel.h"
|
|
#include "/EgtDev/Include/EXeExecutor.h"
|
|
#include "/EgtDev/Include/EXeConst.h"
|
|
#include "/EgtDev/Include/EGkStringUtils3d.h"
|
|
#include "/EgtDev/Include/EMkOperationConst.h"
|
|
#include "/EgtDev/Include/EMkSimuGenConst.h"
|
|
#include "/EgtDev/Include/EGnFileUtils.h"
|
|
#include "/EgtDev/Include/EgtStringConverter.h"
|
|
#include "/EgtDev/Include/EgtPointerOwner.h"
|
|
|
|
using namespace std ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeInitMachMgr( const string& sMachinesDir, const string& sToolMakersDir)
|
|
{
|
|
GseContext* pGseCtx = GetCurrGseContext() ;
|
|
VERIFY_CTX_GEOMDB( pGseCtx, false)
|
|
// inizializzazione gestore lavorazioni
|
|
PtrOwner<IMachMgr> pMachMgr( MyCreateMachMgr()) ;
|
|
VERIFY_NULL( Get( pMachMgr), "Error in CreateMachMgr", false)
|
|
bool bOk = pMachMgr->Init( sMachinesDir, sToolMakersDir, pGseCtx->m_pGeomDB,
|
|
GetIndCurrGseContext(), LuaGetLuaLibsDir(), LuaGetLastRequire()) ;
|
|
// assegno il gestore al contesto
|
|
pGseCtx->m_pMachMgr = ( bOk ? Release( pMachMgr) : nullptr) ;
|
|
// log avvio Machining Manager
|
|
string sLog = "MachMgr" ;
|
|
sLog += ( bOk ? " started" : " error") ;
|
|
sLog += " (" + sMachinesDir + ")" ;
|
|
LOG_INFO( GetLogger(), sLog.c_str())
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUpdateMachMgr( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// aggiornamento gestore lavorazioni
|
|
return pMachMgr->Update() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeInsertMachMgr( int nInsGrp)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// sposto le macchinate dal gruppo di inserimento alla base macchinate
|
|
return pMachMgr->Insert( nInsGrp) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Errors & Warnings
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetLastMachMgrErrorId( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 1)
|
|
// restituisco l'errore
|
|
return pMachMgr->GetLastErrorId() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
string
|
|
ExeGetLastMachMgrErrorString( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, "MachMgr invalid")
|
|
// restituisco l'errore
|
|
return pMachMgr->GetLastErrorString() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetMachMgrWarningId( int nInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 1)
|
|
// restituisco l'avviso
|
|
return pMachMgr->GetWarningId( nInd) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
string
|
|
ExeGetMachMgrWarningString( int nInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, "MachMgr invalid")
|
|
// restituisco l'avviso
|
|
return pMachMgr->GetWarningString( nInd) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Machines
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachines( STRVECTOR& vsMachineNames, STRVECTOR& vsMachineDirs)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero le macchine disponibili
|
|
return pMachMgr->GetMachines( vsMachineNames, vsMachineDirs) ;
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCurrMachine( const string& sMachineName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la macchina corrente
|
|
bool bOk = pMachMgr->SetCurrMachine( sMachineName) ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetCurrMachine('" + sMachineName + "')" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCurrMachineName( string& sMachineName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della macchina corrente
|
|
return pMachMgr->GetCurrMachineName( sMachineName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCurrMachineDir( string& sMachineDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il direttorio della macchina corrente
|
|
return pMachMgr->GetCurrMachineDir( sMachineDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Machining Groups
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetMachGroupCount( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero il numero di macchinate
|
|
return pMachMgr->GetMachGroupCount() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstMachGroup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la prima macchinata
|
|
return pMachMgr->GetFirstMachGroup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextMachGroup( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la successiva macchinata
|
|
return pMachMgr->GetNextMachGroup( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetLastMachGroup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero l'ultima macchinata
|
|
return pMachMgr->GetLastMachGroup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPrevMachGroup( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la precedente macchinata
|
|
return pMachMgr->GetPrevMachGroup( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachGroupNewName( string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un nuovo nome a partire da quello passato
|
|
return pMachMgr->GetMachGroupNewName( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddMachGroup( const string& sName, const string& sMachineName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// aggiungo la macchinata (gruppo di lavorazione)
|
|
int nId = pMachMgr->AddMachGroup( sName, sMachineName) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddMachGroup('" + sName + "','" +
|
|
sMachineName + "')" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeCopyMachGroup( const string& sSouName, const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// copio la macchinata (gruppo di lavorazione)
|
|
int nId = pMachMgr->CopyMachGroup( sSouName, sName) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtCopyMachGroup('" + sSouName + "','" +
|
|
sName + "')" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveMachGroup( int nMGroupId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo la macchinata (gruppo di lavorazione)
|
|
bool bOk = pMachMgr->RemoveMachGroup( nMGroupId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveMachGroup(" + ToString( nMGroupId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachGroupName( int nId, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della macchinata
|
|
sName = pMachMgr->GetMachGroupName( nId) ;
|
|
return ( ! sName.empty()) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachGroupMachineName( int nId, string& sMachineName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della macchina usata nella macchinata
|
|
sMachineName = pMachMgr->GetMachGroupMachineName( nId) ;
|
|
return ( ! sMachineName.empty()) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetMachGroupId( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'indice della macchinata
|
|
return pMachMgr->GetMachGroupId( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCurrMachGroup( int nMGroupId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la macchinata corrente
|
|
bool bOk = pMachMgr->SetCurrMachGroup( nMGroupId) ;
|
|
// non cambia lo stato di modificato del progetto
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetCurrMachGroup(" + ToString( nMGroupId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeResetCurrMachGroup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// reset macchinata corrente
|
|
bool bOk = pMachMgr->ResetCurrMachGroup() ;
|
|
// non cambia lo stato di modificato del progetto
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtResetCurrMachGroup()"
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetCurrMachGroup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo macchinata corrente
|
|
return pMachMgr->GetCurrMachGroup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Phases
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddPhase( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// aggiungo una nuova fase di lavorazione alla macchinata corrente
|
|
int nId = pMachMgr->AddPhase() ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddPhase()"
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCurrPhase( int nPhase, bool bForced)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la fase di lavorazione corrente nella macchinata corrente
|
|
return pMachMgr->SetCurrPhase( nPhase, bForced) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetCurrPhase( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero la fase di lavorazione corrente nella macchinata corrente
|
|
return pMachMgr->GetCurrPhase() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveLastPhase( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimina l'ultima fase di lavorazione dalla macchinata corrente
|
|
bool bOk = pMachMgr->RemoveLastPhase() ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveLastPhase()"
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPhaseCount( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero il numero totale di fasi di lavorazione della macchinata corrente
|
|
return pMachMgr->GetPhaseCount() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Raw Parts & Parts
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetRawPartCount( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero il numero di grezzi nella macchinata corrente
|
|
return pMachMgr->GetRawPartCount() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstRawPart( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero identificativo primo grezzo nella macchinata corrente
|
|
return pMachMgr->GetFirstRawPart() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextRawPart( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero identificativo successivo grezzo nella macchinata corrente
|
|
return pMachMgr->GetNextRawPart( nRawId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeIsRawPart( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// verifico se è un grezzo della macchinata corrente
|
|
return pMachMgr->IsRawPart( nRawId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddRawPart( Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// inserisco grezzo nella macchinata corrente
|
|
int nId = pMachMgr->AddRawPart( ptOrig, dLength, dWidth, dHeight, cCol) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddRawPart({" + ToString( ptOrig) + "}," +
|
|
ToString( dLength) + "," +
|
|
ToString( dWidth) + "," +
|
|
ToString( dHeight) + ",{" +
|
|
ToString( cCol) + "})" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// inserisco grezzo con pezzo nella macchinata corrente
|
|
int nId = pMachMgr->AddRawPartWithPart( nPartId, nCrvId, dOverMat, cCol) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddRawPartWithPart(" + ToString( nPartId) + "," +
|
|
ToString( nCrvId) + "," +
|
|
ToString( dOverMat) + ",{" +
|
|
ToString( cCol) + "})" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeModifyRawPart( int nRawId, Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// modifico grezzo indicato nella macchinata corrente
|
|
bool bOk = pMachMgr->ModifyRawPart( nRawId, ptOrig, dLength, dWidth, dHeight, cCol) ;
|
|
ExeSetModified() ;
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dZmin, double dHeight, Color cCol)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// modifico grezzo indicato nella macchinata corrente
|
|
bool bOk = pMachMgr->ModifyRawPart( nRawId, nCrvId, dOverMat, dZmin, dHeight, cCol) ;
|
|
ExeSetModified() ;
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// modifico la lunghezza del grezzo
|
|
bool bOk = pMachMgr->ModifyRawPartSize( nRawId, dLength, dWidth, dHeight) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtModifyRawPartSize(" + ToString( nRawId) + "," +
|
|
ToString( dLength) + "," +
|
|
ToString( dWidth) + "," +
|
|
ToString( dHeight) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeModifyRawPartHeight( int nRawId, double dHeight)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// modifico lo spessore del grezzo
|
|
bool bOk = pMachMgr->ModifyRawPartHeight( nRawId, dHeight) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtModifyRawPartHeight(" + ToString( nRawId) + "," +
|
|
ToString( dHeight) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeKeepRawPart( int nRawId, int nSouPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// confermo il grezzo nella fase corrente della macchinata corrente
|
|
bool bOk = pMachMgr->KeepRawPart( nRawId, nSouPhase) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtKeepRawPart(" + ToString( nRawId) + "," +
|
|
ToString( nSouPhase) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeVerifyRawPartPhase( int nRawId, int nPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico che il grezzo sia valido ed appartenga alla fase di lavorazione indicata
|
|
bool bOk = pMachMgr->VerifyRawPartPhase( nRawId, nPhase) ;
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeVerifyRawPartCurrPhase( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico che il grezzo sia valido ed appartenga alla fase di lavorazione corrente
|
|
bool bOk = pMachMgr->VerifyRawPartPhase( nRawId, pMachMgr->GetCurrPhase()) ;
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveRawPartFromCurrPhase( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino grezzo dalla fase corrente della macchinata corrente
|
|
bool bOk = pMachMgr->RemoveRawPartFromCurrPhase( nRawId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveRawPartFromCurrPhase(" + ToString( nRawId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveRawPart( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino grezzo dalla macchinata corrente
|
|
bool bOk = pMachMgr->RemoveRawPart( nRawId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveRawPart(" + ToString( nRawId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRotateRawPart( int nRawId, const Vector3d& vtAx, double dAngRotDeg)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ruoto il grezzo
|
|
bool bOk = pMachMgr->RotateRawPart( nRawId, vtAx, dAngRotDeg) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRotateRawPart(" + ToString( nRawId) + ",{" +
|
|
ToString( vtAx) + "}," +
|
|
ToString( dAngRotDeg) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMoveToCornerRawPart( int nRawId, const Point3d& ptCorner, int nFlag)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// mando il grezzo nel corner
|
|
bool bOk = pMachMgr->MoveToCornerRawPart( nRawId, ptCorner, nFlag) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMoveToCornerRawPart(" + ToString( nRawId) + ",{" +
|
|
ToString( ptCorner) + "}," +
|
|
RawPartCornerPosToString( nFlag) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMoveToCenterRawPart( int nRawId, const Point3d& ptCenter, int nFlag)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// mando il grezzo nel corner
|
|
bool bOk = pMachMgr->MoveToCenterRawPart( nRawId, ptCenter, nFlag) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMoveToCenterRawPart(" + ToString( nRawId) + ",{" +
|
|
ToString( ptCenter) + "}," +
|
|
RawPartCenterPosToString( nFlag) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMoveRawPart( int nRawId, const Vector3d& vtMove)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// traslo il grezzo
|
|
bool bOk = pMachMgr->MoveRawPart( nRawId, vtMove) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMoveRawPart(" + ToString( nRawId) + ",{" +
|
|
ToString( vtMove) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetRawPartCenter( int nRawId, Point3d& ptCen)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il centro del grezzo
|
|
return pMachMgr->GetRawPartCenter( nRawId, ptCen) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetRawPartBBox( int nRawId, BBox3d& b3Raw)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il bounding box del grezzo
|
|
return pMachMgr->GetRawPartBBox( nRawId, b3Raw) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeSplitFlatRawPartWithMachinings( int nRawId, const INTVECTOR& vMchId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// divido il grezzo in nuove parti in base alle lavorazioni
|
|
int nId = pMachMgr->SplitFlatRawPartWithMachinings( nRawId, vMchId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSplitFlatRawPartWithMachinings(" + ToString( nRawId) + ",{" +
|
|
IdListToString( vMchId) + "})" +
|
|
" -- FirstId=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPartInRawPartCount( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero il numero di pezzi nel grezzo
|
|
return pMachMgr->GetPartInRawPartCount( nRawId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstPartInRawPart( int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero identificativo primo pezzo nel grezzo
|
|
return pMachMgr->GetFirstPartInRawPart( nRawId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextPartInRawPart( int nPartId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero identificativo successivo pezzo nello stesso grezzo
|
|
return pMachMgr->GetNextPartInRawPart( nPartId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeAddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// inserisco pezzo in un grezzo della macchinata corrente
|
|
bool bOk = pMachMgr->AddPartToRawPart( nPartId, ptPos, nRawId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddPartToRawPart(" + ToString( nPartId) + ",{" +
|
|
ToString( ptPos) + "}," +
|
|
ToString( nRawId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetRawPartFromPart( int nPartId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// cerco il grezzo della fase corrente della macchinata corrente cui appartiene il pezzo
|
|
int nRawId = pMachMgr->GetRawPartFromPart( nPartId) ;
|
|
// restituisco il risultato
|
|
return nRawId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemovePartFromRawPart( int nPartId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino pezzo da grezzo della macchinata corrente
|
|
bool bOk = pMachMgr->RemovePartFromRawPart( nPartId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemovePartFromRawPart(" + ToString( nPartId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTranslatePartInRawPart( int nPartId, const Vector3d& vtMove)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// traslo il pezzo nel grezzo
|
|
bool bOk = pMachMgr->TranslatePartInRawPart( nPartId, vtMove) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMovePartInRawPart(" + ToString( nPartId) + ",{" +
|
|
ToString( vtMove) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRotatePartInRawPart( int nPartId, const Vector3d& vtAx, double dAngRotDeg)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ruoto il pezzo nel grezzo
|
|
bool bOk = pMachMgr->RotatePartInRawPart( nPartId, vtAx, dAngRotDeg) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRotatePartInRawPart(" + ToString( nPartId) + ",{" +
|
|
ToString( vtAx) + "}," +
|
|
ToString( dAngRotDeg) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Table & Fixtures
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetTable( const string& sTable)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la tavola corrente della macchinata corrente
|
|
return pMachMgr->SetTable( sTable) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetTableAreaOffset( double dOffsXP, double dOffsYP, double dOffsXM, double dOffsYM)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto l'offset dell'area utile della tavola corrente
|
|
return pMachMgr->SetTableAreaOffset( dOffsXP, dOffsYP, dOffsXM, dOffsYM) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetTable( string& sTable)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della tavola corrente della macchinata corrente
|
|
return pMachMgr->GetTable( sTable) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetTableRef( int nInd, Point3d& ptPos)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il riferimento della tavola corrente della macchinata corrente
|
|
return pMachMgr->GetTableRef( nInd, ptPos) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetTableArea( int nInd, BBox3d& b3Area)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'estensione dell'area utile della tavola corrente della macchinata corrente
|
|
return pMachMgr->GetTableArea( nInd, b3Area) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetTableAreaOffset( int nInd, BBox3d& b3AreaOffs)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'estensione dell'area utile con offset della tavola corrente della macchinata corrente
|
|
return pMachMgr->GetTableAreaOffset( nInd, b3AreaOffs) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeChangeTable( const string& sTable, bool bUpdateDisp)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la tavola corrente della macchinata corrente
|
|
return pMachMgr->ChangeTable( sTable, bUpdateDisp) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeShowOnlyTable( bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// visualizzo solo la tavola corrente della macchinata corrente
|
|
return pMachMgr->ShowOnlyTable( bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddFixture( const string& sName, const Point3d& ptPos, double dAngRotDeg, double dMov)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// inserisco il dispositivo di presa nella posizione indicata
|
|
int nId = pMachMgr->AddFixture( sName, ptPos, dAngRotDeg, dMov) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddFixture(" + sName + ",{" +
|
|
ToString( ptPos) + "}," +
|
|
ToString( dAngRotDeg) + "," +
|
|
ToString( dMov) + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeKeepFixture( int nFxtId, int nSouPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// confermo il bloccaggio nella fase corrente della macchinata corrente
|
|
bool bOk = pMachMgr->KeepFixture( nFxtId, nSouPhase) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtKeepFixture(" + ToString( nFxtId) + "," +
|
|
ToString( nSouPhase) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveFixture( int nFxtId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuove il bloccaggio
|
|
bool bOk = pMachMgr->RemoveFixture( nFxtId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveFixture(" + ToString( nFxtId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeVerifyFixture( int nFxtId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo la verifica
|
|
return pMachMgr->VerifyFixture( nFxtId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstFixture( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// cerca il primo bloccaggio
|
|
return pMachMgr->GetFirstFixture() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextFixture( int nFxtId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// cerca il successivo bloccaggio
|
|
return pMachMgr->GetNextFixture( nFxtId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMoveFixture( int nFxtId, const Vector3d& vtMove)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// muovo il dispositivo di presa del vettore indicato
|
|
bool bOk = pMachMgr->MoveFixture( nFxtId, vtMove) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMoveFixture(" + ToString( nFxtId) + ",{" +
|
|
ToString( vtMove) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRotateFixture( int nFxtId, double dDeltaAngDeg)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ruoto il dispositivo di presa dell'angolo indicato
|
|
bool bOk = pMachMgr->RotateFixture( nFxtId, dDeltaAngDeg) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRotateFixture(" + ToString( nFxtId) + ",{" +
|
|
ToString( dDeltaAngDeg) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMoveFixtureMobile( int nFxtId, double dDeltaMove)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ruoto il dispositivo di presa dell'angolo indicato
|
|
bool bOk = pMachMgr->MoveFixtureMobile( nFxtId, dDeltaMove) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtMoveFixtureMobile(" + ToString( nFxtId) + ",{" +
|
|
ToString( dDeltaMove) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
// restituisco il risultato
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// DB utensili
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetToolNewName( string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un nuovo nome a partire da quello passato
|
|
return pMachMgr->TdbGetToolNewName( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbAddTool( const string& sName, int nType)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// aggiungo l'utensile
|
|
return pMachMgr->TdbAddTool( sName, nType) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbCopyTool( const string& sSource, const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// copio l'utensile
|
|
return pMachMgr->TdbCopyTool( sSource, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbRemoveTool( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo l'utensile
|
|
return pMachMgr->TdbRemoveTool( sName) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetFirstTool( int nFamily, string& sName, int& nType)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisce nome e tipo del primo utensile della famiglia
|
|
return pMachMgr->TdbGetFirstTool( nFamily, sName, nType) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetNextTool( int nFamily, string& sName, int& nType)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisce nome e tipo del successivo utensile della famiglia
|
|
return pMachMgr->TdbGetNextTool( nFamily, sName, nType) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetToolFromUUID( const string& sTuuid, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisce nome dell'utensile di dato UUID
|
|
return pMachMgr->TdbGetToolFromUUID( sTuuid, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrTool( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta l'utensile corrente
|
|
return pMachMgr->TdbSetCurrTool( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSaveCurrTool( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// salva l'utensile corrente
|
|
return pMachMgr->TdbSaveCurrTool() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbIsCurrToolModified( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico se utensile corrente modificato
|
|
return pMachMgr->TdbIsCurrToolModified() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolParam( int nType, bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro dell'utensile
|
|
return pMachMgr->TdbSetCurrToolParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolParam( int nType, int nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro dell'utensile
|
|
return pMachMgr->TdbSetCurrToolParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolParam( int nType, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il parametro dell'utensile
|
|
return pMachMgr->TdbSetCurrToolParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolParam( int nType, const string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il parametro dell'utensile
|
|
return pMachMgr->TdbSetCurrToolParam( nType, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolValInNotes( int nType, const string& sKey, bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbSetCurrToolValInNotes( nType, sKey, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolValInNotes( int nType, const string& sKey, int nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbSetCurrToolValInNotes( nType, sKey, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolValInNotes( int nType, const string& sKey, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbSetCurrToolValInNotes( nType, sKey, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSetCurrToolValInNotes( int nType, const string& sKey, const string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbSetCurrToolValInNotes( nType, sKey, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbRemoveCurrToolValInNotes( int nType, const string& sKey)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo il valore con chiave dal parametro stringa dell'utensile
|
|
return pMachMgr->TdbRemoveCurrToolValInNotes( nType, sKey) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolParam( int nType, bool& bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro dell'utensile
|
|
return pMachMgr->TdbGetCurrToolParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolParam( int nType, int& nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro dell'utensile
|
|
return pMachMgr->TdbGetCurrToolParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolParam( int nType, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro dell'utensile
|
|
return pMachMgr->TdbGetCurrToolParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolParam( int nType, string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro dell'utensile
|
|
return pMachMgr->TdbGetCurrToolParam( nType, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolValInNotes( int nType, const string& sKey, bool& bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbGetCurrToolValInNotes( nType, sKey, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolValInNotes( int nType, const string& sKey, int& nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbGetCurrToolValInNotes( nType, sKey, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolValInNotes( int nType, const string& sKey, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbGetCurrToolValInNotes( nType, sKey, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolValInNotes( int nType, const string& sKey, string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il valore con chiave al parametro stringa dell'utensile
|
|
return pMachMgr->TdbGetCurrToolValInNotes( nType, sKey, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolMaxDepth( double& dMaxDepth)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il massimo affondamento dell'utensile
|
|
return pMachMgr->TdbGetCurrToolMaxDepth( dMaxDepth) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolThDiam( double& dThDiam)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il diametro del portautensili
|
|
return pMachMgr->TdbGetCurrToolThDiam( dThDiam) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetCurrToolThLength( double& dThLen)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero la lunghezza del portautensili
|
|
return pMachMgr->TdbGetCurrToolThLength( dThLen) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeTdbCurrToolDraw( int nGenCtx, int nToolCtx)
|
|
{
|
|
ExeSetCurrentContext( nGenCtx) ;
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 999)
|
|
// recupero il disegno dell'utensile
|
|
return pMachMgr->TdbCurrToolDraw( nGenCtx, nToolCtx) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbReload( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ricarico il DB utensili (eventuali modifiche dopo l'ultimo salvataggio vengono perse)
|
|
return pMachMgr->TdbReload() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbSave( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo il salvataggio del DB utensili
|
|
return pMachMgr->TdbSave() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetToolDir( string& sToolDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il direttorio degli utensili
|
|
return pMachMgr->TdbGetToolDir( sToolDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbGetToolHolderDir( string& sTHolderDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il direttorio dei porta utensili
|
|
return pMachMgr->TdbGetToolHolderDir( sTHolderDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbExport( const STRVECTOR& vsToolsNames, const string& sOutFile)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo esportazione degli utensili indicati
|
|
return pMachMgr->TdbExport( vsToolsNames, sOutFile) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbToBeImported( const string& sFile, STRVECTOR& vsToolsNames, INTVECTOR& vToolsTypes)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco nomi e tipi degli utensili importabili
|
|
return pMachMgr->TdbToBeImported( sFile, vsToolsNames, vToolsTypes) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeTdbImport( const string& sFile, const STRVECTOR& vsToolsToImport, const STRVECTOR& vsToolsNames, STRVECTOR& vsImported)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo l'importazione degli utensili indicati
|
|
return pMachMgr->TdbImport( sFile, vsToolsToImport, vsToolsNames, vsImported) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Setup
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetCurrSetup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero l'identificativo del gruppo di attrezzaggio della macchinata corrente
|
|
return pMachMgr->GetCurrSetup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetDefaultSetupName( string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome dell'attrezzaggio di default
|
|
return pMachMgr->GetDefaultSetupName( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeImportSetup( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo importazione
|
|
return pMachMgr->ImportSetup( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeVerifyCurrSetup( STRVECTOR& vsErrors)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo la verifica
|
|
return pMachMgr->VerifyCurrSetup( vsErrors) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeFindToolInCurrSetup( const string& sTool)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo la verifica
|
|
return pMachMgr->FindToolInCurrSetup( sTool) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetToolsInCurrSetupPos( const string& sTcPos, STRVECTOR& vsTools)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo la verifica
|
|
return pMachMgr->GetToolsInCurrSetupPos( sTcPos, vsTools) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUpdateCurrSetup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo l'aggiornamento
|
|
return pMachMgr->UpdateCurrSetup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeEraseCurrSetup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo la cancellazione
|
|
return pMachMgr->EraseCurrSetup() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// DB lavorazioni
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetMachiningNewName( string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un nuovo nome a partire da quello passato
|
|
return pMachMgr->MdbGetMachiningNewName( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbAddMachining( const string& sName, int nType)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// aggiungo la lavorazione
|
|
return pMachMgr->MdbAddMachining( sName, nType) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbCopyMachining( const string& sSource, const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// copio la lavorazione
|
|
return pMachMgr->MdbCopyMachining( sSource, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbRemoveMachining( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo la lavorazione
|
|
return pMachMgr->MdbRemoveMachining( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetFirstMachining( int nType, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo la lavorazione
|
|
return pMachMgr->MdbGetFirstMachining( nType, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetNextMachining( int nType, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo la lavorazione
|
|
return pMachMgr->MdbGetNextMachining( nType, sName) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetMachiningFromUUID( const string& sMuuid, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisce nome della lavorazione di dato UUID
|
|
return pMachMgr->MdbGetMachiningFromUUID( sMuuid, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetCurrMachining( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la lavorazione corrente
|
|
return pMachMgr->MdbSetCurrMachining( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSaveCurrMachining( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// salvo la lavorazione corrente
|
|
return pMachMgr->MdbSaveCurrMachining() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbIsCurrMachiningModified( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico se la lavorazione corrente è stata modificata
|
|
return pMachMgr->MdbIsCurrMachiningModified() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetCurrMachiningParam( int nType, bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbSetCurrMachiningParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetCurrMachiningParam( int nType, int nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbSetCurrMachiningParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetCurrMachiningParam( int nType, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbSetCurrMachiningParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetCurrMachiningParam( int nType, const string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbSetCurrMachiningParam( nType, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetCurrMachiningParam( int nType, bool& bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbGetCurrMachiningParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetCurrMachiningParam( int nType, int& nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbGetCurrMachiningParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetCurrMachiningParam( int nType, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbGetCurrMachiningParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetCurrMachiningParam( int nType, string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta il parametro della lavorazione
|
|
return pMachMgr->MdbGetCurrMachiningParam( nType, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetGeneralParam( int nType, bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il parametro generale delle lavorazioni
|
|
return pMachMgr->MdbSetGeneralParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetGeneralParam( int nType, int nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il parametro generale delle lavorazioni
|
|
return pMachMgr->MdbSetGeneralParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSetGeneralParam( int nType, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto il parametro generale delle lavorazioni
|
|
return pMachMgr->MdbSetGeneralParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetGeneralParam( int nType, bool& bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro generale dele lavorazioni
|
|
return pMachMgr->MdbGetGeneralParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetGeneralParam( int nType, int& nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro generale dele lavorazioni
|
|
return pMachMgr->MdbGetGeneralParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetGeneralParam( int nType, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il parametro generale dele lavorazioni
|
|
return pMachMgr->MdbGetGeneralParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbReload( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ricarico il DB lavorazioni (eventuali modifiche dopo l'ultimo salvataggio vengono perse)
|
|
return pMachMgr->MdbReload() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbSave( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo il salvataggio del DB lavorazioni
|
|
return pMachMgr->MdbSave() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbGetMachiningDir( string& sMchDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il direttorio delle lavorazioni
|
|
return pMachMgr->MdbGetMachiningDir( sMchDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbExport( const STRVECTOR& vsMachiningsNames, const string& sOutFile)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo esportazione delle lavorazioni indicate
|
|
return pMachMgr->MdbExport( vsMachiningsNames, sOutFile) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbToBeImported( const string& sFile, STRVECTOR& vsMachiningsNames, INTVECTOR& vMachiningsTypes)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco nomi e tipi delle lavorazioni importabili
|
|
return pMachMgr->MdbToBeImported( sFile, vsMachiningsNames, vMachiningsTypes) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeMdbImport( const string& sFile, const STRVECTOR& vsMachiningsToImport, const STRVECTOR& vsMachiningsNames, STRVECTOR& vsImported)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo l'importazione delle lavorazioni indicate
|
|
return pMachMgr->MdbImport( sFile, vsMachiningsToImport, vsMachiningsNames, vsImported) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Operazioni
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstOperation( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la prima operazione della macchinata corrente
|
|
return pMachMgr->GetFirstOperation() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextOperation( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la successiva operazione della macchinata corrente
|
|
return pMachMgr->GetNextOperation( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetLastOperation( void)
|
|
{
|
|
GseContext* pGseCtx = GetCurrGseContext() ;
|
|
VERIFY_CTX_MACHMGR( pGseCtx, false)
|
|
// recupero l'ultima operazione della macchinata corrente
|
|
return pGseCtx->m_pMachMgr->GetLastOperation() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPrevOperation( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la precedente operazione della macchinata corrente
|
|
return pMachMgr->GetPrevOperation( nId) ;
|
|
}
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetFirstActiveOperation( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la prima operazione attiva della macchinata corrente
|
|
return pMachMgr->GetFirstActiveOperation() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetNextActiveOperation( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la successiva operazione attiva della macchinata corrente
|
|
return pMachMgr->GetNextActiveOperation( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetLastActiveOperation( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'ultima operazione attiva della macchinata corrente
|
|
return pMachMgr->GetLastActiveOperation() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPrevActiveOperation( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la precedente operazione attiva della macchinata corrente
|
|
return pMachMgr->GetPrevActiveOperation( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetOperationType( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero il tipo della operazione della macchinata corrente
|
|
return pMachMgr->GetOperationType( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetOperationPhase( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero la fase di appartenenza della operazione della macchinata corrente
|
|
return pMachMgr->GetOperationPhase( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetOperationName( int nId, const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// assegno il nuovo nome alla operazione della macchinata corrente
|
|
bool bOk = pMachMgr->SetOperationName( nId, sName) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetOperationName(" + ToString( nId) + "," +
|
|
sName + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetOperationName( int nId, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della operazione della macchinata corrente
|
|
sName = pMachMgr->GetOperationName( nId) ;
|
|
return ( ! sName.empty()) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetOperationId( const string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'identificativo dell'operazione con il nome indicato della macchinata corrente
|
|
return pMachMgr->GetOperationId( sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeIsOperationEmpty( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero lo stato dell'operazione indicata della macchinata corrente
|
|
return pMachMgr->IsOperationEmpty( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveOperation( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino l'operazione indicata della macchinata corrente
|
|
bool bOk = pMachMgr->RemoveOperation( nId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveOperation(" + ToString( nId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveAllPhaseOperations( int nPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino tutte le operazioni (tranne la disposizione) della fase indicata della macchinata corrente
|
|
bool bOk = pMachMgr->RemoveAllPhaseOperations( nPhase) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveAllPhaseOperations(" + ToString( nPhase) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveAllOperations( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// elimino tutte le operazioni e le fasi della macchinata corrente tranne la prima disposizione
|
|
bool bOk = pMachMgr->RemoveAllOperations() ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtRemoveAllOperations()"
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetOperationMode( int nId, bool bActive)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo stato dell'operazione
|
|
bool bOk = pMachMgr->SetOperationMode( nId, bActive) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetOperationMode(" + ToString( nId) + "," +
|
|
( bActive ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetOperationMode( int nId, bool& bActive)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero lo stato dell'operazione
|
|
return pMachMgr->GetOperationMode( nId, bActive) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetAllOperationsMode( bool bActive)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo stato di tutte le operazioni
|
|
bool bOk = pMachMgr->SetAllOperationsMode( true, bActive) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetAllOperationsMode(" + string( bActive ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetOperationStatus( int nId, bool bShow)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo stato di visualizzazione dell'operazione
|
|
bool bOk = pMachMgr->SetOperationStatus( nId, bShow) ;
|
|
// non cambia lo stato di modificato del progetto
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetOperationStatus(" + ToString( nId) + "," +
|
|
( bShow ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetOperationStatus( int nId, bool& bShow)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero lo stato di visualizzazione dell'operazione
|
|
return pMachMgr->GetOperationStatus( nId, bShow) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetAllOperationsStatus( bool bShow)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo stato di visualizzazione di tutte le operazioni
|
|
bool bOk = pMachMgr->SetAllOperationsStatus( true, bShow) ;
|
|
// non cambia lo stato di modificato del progetto
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetAllOperationsStatus(" + string( bShow ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeAdjustOperationPhase( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposta la fase della lavorazione in base alla sua posizione nella lista
|
|
bool bOk = pMachMgr->AdjustOperationPhase( nId) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAdjustOperationPhase(" + ToString( nId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeChangeOperationPhase( int nId, int nNewPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// cambio la fase dell'operazione e la sposto in fondo alle lavorazioni della stessa fase
|
|
bool bOk = pMachMgr->ChangeOperationPhase( nId, nNewPhase) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtChangeOperationPhase(" + ToString( nId) + "," +
|
|
ToString( nNewPhase) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPhaseLastOperation( int nPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'ultima operazione della fase indicata
|
|
return pMachMgr->GetPhaseLastOperation( nPhase) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemoveOperationHome( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimuovo posizionamento finale in home dalla operazione indicata
|
|
return pMachMgr->RemoveOperationHome( nId) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Disposizioni
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetPhaseDisposition( int nPhase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// recupero la disposizione della fase indicata
|
|
return pMachMgr->GetPhaseDisposition( nPhase) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSpecialApplyDisposition( int nId, bool bRecalc)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo azione speciale su disposizione indicata
|
|
bool bOk = pMachMgr->DispositionSpecialApply( nId, bRecalc) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSpecialApplyDisposition(" + ToString( nId) + "," +
|
|
( bRecalc ? "true" : "false") + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSpecialUpdateDisposition( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// aggiorno assi macchina e collegamento con precedente della disposizione indicata
|
|
bool bOk = pMachMgr->DispositionSpecialUpdate( nId) ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSpecialUpdateDisposition(" + ToString( nId) + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Lavorazioni
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddMachining( const string& sName, const string& sMachining)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// aggiunge una lavorazione, prendendo i dati dalla libreria
|
|
int nId = pMachMgr->AddMachining( sName, sMachining) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtAddMachining(" + sName + "," +
|
|
sMachining + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeAddMachining( const string& sName, int nMchType, const string& sTool)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// aggiunge una lavorazione dati tipo e nome utensile
|
|
int nId = pMachMgr->AddMachining( sName, nMchType, sTool) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtCreateMachining(" + sName + "," +
|
|
ToString( nMchType) + "," +
|
|
sTool + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeCopyMachining( const string& sName, const string& sSouName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// copia una lavorazione
|
|
int nId = pMachMgr->CopyMachining( sName, sSouName) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtCopyMachining(" + sName + "," +
|
|
sSouName + ")" +
|
|
" -- Id=" + ToString( nId) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return nId ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCurrMachining( int nId)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la lavorazione di identificativo Id come corrente
|
|
bool bOk = pMachMgr->SetCurrMachining( nId) ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetCurrMachining(" + ToString( nId) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeResetCurrMachining( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// reset della lavorazione corrente
|
|
bool bOk = pMachMgr->ResetCurrMachining() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtResetCurrMachining()"
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetCurrMachining( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco l'identificativo della lavorazione corrente
|
|
return pMachMgr->GetCurrMachining() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachiningParam( int nType, bool bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto un parametro alla lavorazione corrente
|
|
bool bChanged ;
|
|
bool bOk = pMachMgr->SetMachiningParam( nType, bVal, &bChanged) ;
|
|
if ( bChanged)
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetMachiningParam(" + ToString( nType) + "," +
|
|
( bVal ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachiningParam( int nType, int nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto un parametro alla lavorazione corrente
|
|
bool bChanged ;
|
|
bool bOk = pMachMgr->SetMachiningParam( nType, nVal, &bChanged) ;
|
|
if ( bChanged)
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetMachiningParam(" + ToString( nType) + "," +
|
|
ToString( nVal) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachiningParam( int nType, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto un parametro alla lavorazione corrente
|
|
bool bChanged ;
|
|
bool bOk = pMachMgr->SetMachiningParam( nType, dVal, &bChanged) ;
|
|
if ( bChanged)
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetMachiningParam(" + ToString( nType) + "," +
|
|
ToString( dVal) + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachiningParam( int nType, const string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto un parametro alla lavorazione corrente
|
|
bool bChanged ;
|
|
bool bOk = pMachMgr->SetMachiningParam( nType, sVal, &bChanged) ;
|
|
if ( bChanged)
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetMachiningParam(" + ToString( nType) + "," +
|
|
sVal + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachiningGeometry( const SELVECTOR& vIds)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la geometria alla lavorazione corrente
|
|
bool bOk = pMachMgr->SetMachiningGeometry( vIds) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtSetMachiningGeometry({" + SelListToString( vIds) + "})" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExePreviewMachining( bool bRecalc)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo il ricalcolo del preview sulla lavorazione corrente
|
|
bool bOk = pMachMgr->MachiningPreview( bRecalc) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtPreviewMachining(" + string( bRecalc ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeApplyMachining( bool bRecalc, bool bPostApply)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// ricalcolo la lavorazione corrente
|
|
bool bOk = pMachMgr->MachiningApply( bRecalc, bPostApply) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtApplyMachining(" + string( bRecalc ? "true" : "false") + "," +
|
|
string( bPostApply ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUpdateMachining( bool bPostApply)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// aggiorno assi macchina e collegamento con precedente della lavorazione corrente
|
|
bool bOk = pMachMgr->MachiningUpdate( bPostApply) ;
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtUpdateMachining(" + string( bPostApply ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExePreparePreviewMachiningTool( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// preparazione per visualizzazione anteprima utensile su lavorazione
|
|
return pMachMgr->PreparePreviewMachiningTool() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeRemovePreviewMachiningTool( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// rimozione per visualizzazione anteprima utensile su lavorazione
|
|
return pMachMgr->RemovePreviewMachiningTool() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExePreviewMachiningTool( int nEntId, int nFlag)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// visualizzazione anteprima utensile su lavorazione
|
|
return pMachMgr->PreviewMachiningTool( nEntId, nFlag) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningParam( int nType, bool& bVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un parametro alla lavorazione corrente
|
|
return pMachMgr->GetMachiningParam( nType, bVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningParam( int nType, int& nVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un parametro alla lavorazione corrente
|
|
return pMachMgr->GetMachiningParam( nType, nVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningParam( int nType, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un parametro alla lavorazione corrente
|
|
return pMachMgr->GetMachiningParam( nType, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningParam( int nType, string& sVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero un parametro alla lavorazione corrente
|
|
return pMachMgr->GetMachiningParam( nType, sVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningGeometry( SELVECTOR& vIds)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero la geometria di origine della lavorazione corrente
|
|
return pMachMgr->GetMachiningGeometry( vIds) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeIsMachiningEmpty( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco lo stato della lavorazione corrente
|
|
return pMachMgr->IsMachiningEmpty() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningStartPoint( Point3d& ptStart)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco quanto cercato
|
|
return pMachMgr->GetMachiningStartPoint( ptStart) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetMachiningEndPoint( Point3d& ptEnd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco quanto cercato
|
|
return pMachMgr->GetMachiningEndPoint( ptEnd) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeApplyAllMachinings( bool bRecalc, bool bStopOnFirstErr, string& sErrList)
|
|
{
|
|
string sWarnList ;
|
|
return ExeApplyAllMachiningsEx( bRecalc, bStopOnFirstErr, sErrList, sWarnList) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeApplyAllMachiningsEx( bool bRecalc, bool bStopOnFirstErr, string& sErrList, string& sWarnList)
|
|
{
|
|
sErrList.clear() ;
|
|
sWarnList.clear() ;
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// Recupero stato corrente di visualizzazione della macchina
|
|
int nCurrLook = pMachMgr->GetMachineLook() ;
|
|
pMachMgr->SetMachineLook( MCH_LOOK_ALL) ;
|
|
// Recupero fase corrente e lavorazione corrente della macchinata corrente
|
|
int nCurrPhase = pMachMgr->GetCurrPhase() ;
|
|
int nCurrMach = pMachMgr->GetCurrMachining() ;
|
|
// Eseguo ricalcolo ordinato per tutte le operazioni attive in lista
|
|
bool bOk = true ;
|
|
int nOperId = pMachMgr->GetFirstActiveOperation() ;
|
|
while ( nOperId != GDB_ID_NULL) {
|
|
if ( pMachMgr->GetOperationType( nOperId) == OPER_DISP) {
|
|
pMachMgr->SetCurrPhase( pMachMgr->GetOperationPhase( nOperId)) ;
|
|
if ( ! pMachMgr->DispositionSpecialApply( nOperId, true)) {
|
|
bOk = false ;
|
|
if ( pMachMgr->GetLastErrorId() != 0)
|
|
sErrList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetLastErrorString() + "\r\n" ;
|
|
if ( bStopOnFirstErr)
|
|
break ;
|
|
}
|
|
int i = 0 ;
|
|
while ( pMachMgr->GetWarningId( i) != 0) {
|
|
sWarnList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetWarningString( i) + "\r\n" ;
|
|
++ i ;
|
|
}
|
|
}
|
|
else {
|
|
pMachMgr->SetCurrMachining( nOperId) ;
|
|
if ( ! pMachMgr->MachiningApply( bRecalc, true)) {
|
|
bOk = false ;
|
|
if ( pMachMgr->GetLastErrorId() != 0) {
|
|
sErrList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetLastErrorString() ;
|
|
string sInfo = pMachMgr->GetOutstrokeInfo( ExeUiUnitsAreMM()) ;
|
|
if ( ! sInfo.empty())
|
|
sErrList += sInfo ;
|
|
sErrList += "\r\n" ;
|
|
}
|
|
if ( bStopOnFirstErr)
|
|
break ;
|
|
}
|
|
int i = 0 ;
|
|
while ( pMachMgr->GetWarningId( i) != 0) {
|
|
sWarnList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetWarningString( i) + "\r\n" ;
|
|
++ i ;
|
|
}
|
|
}
|
|
nOperId = pMachMgr->GetNextActiveOperation( nOperId) ;
|
|
}
|
|
// Ripristino fase e lavorazione inizialmente correnti
|
|
pMachMgr->SetCurrPhase( nCurrPhase) ;
|
|
if ( nCurrMach != GDB_ID_NULL)
|
|
pMachMgr->SetCurrMachining( nCurrMach) ;
|
|
else
|
|
pMachMgr->ResetCurrMachining() ;
|
|
// Ripristino stato visualizzazione macchina
|
|
pMachMgr->SetMachineLook( nCurrLook) ;
|
|
// Se richiesto ricalcolo, progetto modificato
|
|
if ( bRecalc)
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtApplyAllMachinings(" + string( bRecalc ? "true" : "false") + "," +
|
|
string( bStopOnFirstErr ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUpdateAllMachinings( bool bStopOnFirstErr, string& sErrList)
|
|
{
|
|
string sWarnList ;
|
|
return ExeUpdateAllMachiningsEx( bStopOnFirstErr, sErrList, sWarnList) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUpdateAllMachiningsEx( bool bStopOnFirstErr, string& sErrList, string& sWarnList)
|
|
{
|
|
sErrList.clear() ;
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// Recupero stato corrente di visualizzazione della macchina
|
|
int nCurrLook = pMachMgr->GetMachineLook() ;
|
|
pMachMgr->SetMachineLook( MCH_LOOK_ALL) ;
|
|
// Recupero fase corrente e lavorazione corrente della macchinata corrente
|
|
int nCurrPhase = pMachMgr->GetCurrPhase() ;
|
|
int nCurrMach = pMachMgr->GetCurrMachining() ;
|
|
// Eseguo ricalcolo ordinato di assi macchina e link per tutte le operazioni attive in lista
|
|
bool bOk = true ;
|
|
int nOperId = pMachMgr->GetFirstActiveOperation() ;
|
|
while ( nOperId != GDB_ID_NULL) {
|
|
if ( pMachMgr->GetOperationType( nOperId) == OPER_DISP) {
|
|
pMachMgr->SetCurrPhase( pMachMgr->GetOperationPhase( nOperId)) ;
|
|
if ( ! pMachMgr->DispositionSpecialUpdate( nOperId)) {
|
|
bOk = false ;
|
|
if ( pMachMgr->GetLastErrorId() != 0)
|
|
sErrList += pMachMgr->GetLastErrorString() + "\r\n" ;
|
|
if ( bStopOnFirstErr)
|
|
break ;
|
|
}
|
|
int i = 0 ;
|
|
while ( pMachMgr->GetWarningId( i) != 0) {
|
|
sWarnList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetWarningString( i) + "\r\n" ;
|
|
++ i ;
|
|
}
|
|
}
|
|
else {
|
|
pMachMgr->SetCurrMachining( nOperId) ;
|
|
if ( ! pMachMgr->MachiningUpdate()) {
|
|
bOk = false ;
|
|
if ( pMachMgr->GetLastErrorId() != 0)
|
|
sErrList += pMachMgr->GetLastErrorString() + "\r\n" ;
|
|
if ( bStopOnFirstErr)
|
|
break ;
|
|
}
|
|
int i = 0 ;
|
|
while ( pMachMgr->GetWarningId( i) != 0) {
|
|
sWarnList += pMachMgr->GetOperationName( nOperId) + " -> " + pMachMgr->GetWarningString( i) + "\r\n" ;
|
|
++ i ;
|
|
}
|
|
}
|
|
nOperId = pMachMgr->GetNextActiveOperation( nOperId) ;
|
|
}
|
|
// Ripristino fase e lavorazione inizialmente correnti
|
|
pMachMgr->SetCurrPhase( nCurrPhase) ;
|
|
if ( nCurrMach != GDB_ID_NULL)
|
|
pMachMgr->SetCurrMachining( nCurrMach) ;
|
|
else
|
|
pMachMgr->ResetCurrMachining() ;
|
|
// Ripristino stato visualizzazione macchina
|
|
pMachMgr->SetMachineLook( nCurrLook) ;
|
|
// Progetto modificato
|
|
ExeSetModified() ;
|
|
// se richiesto, salvo il comando Lua equivalente
|
|
if ( IsCmdLog()) {
|
|
string sLua = "EgtUpdateAllMachinings(" + string( bStopOnFirstErr ? "true" : "false") + ")" +
|
|
" -- Ok=" + ToString( bOk) ;
|
|
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
|
}
|
|
return bOk ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// CL Entities Interrogations
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetClEntMove( int nEntId, int& nMove)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il tipo di movimento
|
|
return pMachMgr->GetClEntMove( nEntId, nMove) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetClEntFlag( int nEntId, int& nFlag)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il flag
|
|
return pMachMgr->GetClEntFlag( nEntId, nFlag) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetClEntIndex( int nEntId, int& nIndex)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'indice
|
|
return pMachMgr->GetClEntIndex( nEntId, nIndex) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Simulazione
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimInit( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// preparo la simulazione della macchinata corrente
|
|
return pMachMgr->SimInit() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimStart( bool bFirst)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// avvio la simulazione della macchinata corrente
|
|
return pMachMgr->SimStart( bFirst) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimMove( int& nStatus)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo movimento di simulazione della macchinata corrente
|
|
return pMachMgr->SimMove( nStatus) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimHome( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// eseguo movimento in home
|
|
return pMachMgr->SimGoHome() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimSetStep( double dStep)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo step di riferimento per la simulazione della macchinata corrente
|
|
return pMachMgr->SimSetStep( dStep) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimSetUiStatus( int nUiStatus)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto lo stato utente del simulatore
|
|
return pMachMgr->SimSetUiStatus( nUiStatus) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimGetAxisInfoPos( int nI, string& sName, string& sToken, bool& bLinear, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero stringa con info asse di simulazione
|
|
return pMachMgr->SimGetAxisInfoPos( nI, sName, sToken, bLinear, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimGetToolInfo( string& sName, double& dSpeed)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero dati dell'utensile
|
|
return pMachMgr->SimGetToolInfo( sName, dSpeed) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimGetOperationInfo( string& sName, int& nType)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero dati della operazione
|
|
return pMachMgr->SimGetOperationInfo( sName, nType) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimGetMoveInfo( int& nGmove, double& dFeed)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero dati sul movimento corrente
|
|
return pMachMgr->SimGetMoveInfo( nGmove, dFeed) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimExit( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// termino la simulazione della macchinata corrente
|
|
return pMachMgr->SimExit() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Generazione, Stima T&L e Simulazione
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGenerate( const string& sCncFile, const string& sInfo)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
string sMyCncFile = sCncFile ;
|
|
// se nome file vuoto
|
|
if ( IsEmptyOrSpaces( sMyCncFile)) {
|
|
// recupero la path del progetto
|
|
string sProjPath ;
|
|
if ( ! ExeGetCurrFilePath( sProjPath))
|
|
return false ;
|
|
// ne deduco il direttorio
|
|
string sDir = GetDirectory( sProjPath) ;
|
|
ReplaceString( sDir, "/", "\\") ;
|
|
// recupero il nome
|
|
string sNcName ;
|
|
if ( ! ExeGetInfo( ExeGetCurrMachGroup(), GDL_NC_NAME, sNcName))
|
|
sNcName = GetFileTitleEgt( sProjPath) + ".cnc" ;
|
|
// creo la path completa
|
|
sMyCncFile = sDir + "\\" + sNcName ;
|
|
}
|
|
// eseguo la generazione del part-program della macchinata corrente
|
|
return pMachMgr->Generate( sMyCncFile, sInfo) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeEstimate( const string& sEstFile, const string& sInfo)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
string sMyEstFile = sEstFile ;
|
|
// se nome file vuoto
|
|
if ( IsEmptyOrSpaces( sMyEstFile)) {
|
|
// recupero la path del progetto
|
|
string sProjPath ;
|
|
if ( ! ExeGetCurrFilePath( sProjPath))
|
|
return false ;
|
|
// ne deduco il direttorio
|
|
string sDir = GetDirectory( sProjPath) ;
|
|
ReplaceString( sDir, "/", "\\") ;
|
|
// recupero il nome
|
|
string sEstName ;
|
|
if ( ! ExeGetInfo( ExeGetCurrMachGroup(), GDL_NC_NAME, sEstName))
|
|
sEstName = GetFileTitleEgt( sProjPath) ;
|
|
sEstName = ChangeFileExtension( sEstName, ".html") ;
|
|
// creo la path completa
|
|
sMyEstFile = sDir + "\\" + sEstName ;
|
|
}
|
|
// eseguo la stima di tempi e lunghezze di lavoro della macchinata corrente
|
|
return pMachMgr->Estimate( sMyEstFile, sInfo) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSimulate( int& nErr, string& sError)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// forzo aggiornamento
|
|
if ( ! ExeApplyAllMachinings( false, false, sError)) {
|
|
// assegno il codice di errore
|
|
nErr = SHE_INIT ;
|
|
// assegno stringa di errore
|
|
sError = "Preparing simulation failed" ;
|
|
ExeOutLog( sError, 1) ;
|
|
// esco
|
|
return false ;
|
|
}
|
|
// inizializzo lo stato
|
|
bool bContinue = true ;
|
|
nErr = SHE_NONE ;
|
|
sError = "" ;
|
|
// disabilito UI
|
|
ExeSetEnableUI( false) ;
|
|
// avvio simulazione
|
|
if ( ! pMachMgr->SimInit() || ! pMachMgr->SimStart( true) || ! pMachMgr->SimStart( false)) {
|
|
// inutile continuare con simulazione se avvio non riuscito
|
|
bContinue = false ;
|
|
// assegno il codice di errore
|
|
nErr = SHE_INIT ;
|
|
// assegno stringa di errore
|
|
sError = "Starting simulation failed" ;
|
|
ExeOutLog( sError, 1) ;
|
|
}
|
|
pMachMgr->SimSetStep( 50) ;
|
|
// ciclo di simulazione
|
|
while ( bContinue) {
|
|
int nStat ;
|
|
bContinue = pMachMgr->SimMove( nStat) ;
|
|
// gestione errori
|
|
if ( nStat == MCH_SIM_OUTSTROKE) {
|
|
// assegno il codice di errore
|
|
nErr = SHE_OUTSTROKE ;
|
|
// recupero stringa di errore
|
|
sError = pMachMgr->GetOutstrokeInfo( ExeUiUnitsAreMM()) ;
|
|
ExeOutLog( sError, 1) ;
|
|
}
|
|
else if ( nStat == MCH_SIM_DIR_ERR) {
|
|
// assegno il codice di errore
|
|
nErr = SHE_DIR_ERR ;
|
|
// assegno stringa di errore
|
|
sError = "Tool direction unreachable" ;
|
|
ExeOutLog( sError, 1) ;
|
|
}
|
|
else if ( nStat == MCH_SIM_COLLISION) {
|
|
// assegno il codice di errore
|
|
nErr = SHE_COLLISION ;
|
|
// recupero stringa di errore
|
|
if ( pMachMgr->GetLastErrorId() != 0)
|
|
sError = pMachMgr->GetLastErrorString() ;
|
|
else
|
|
sError = "Found collision head-part" ;
|
|
ExeOutLog( sError, 1) ;
|
|
}
|
|
else if ( nStat == MCH_SIM_ERR) {
|
|
// se esiste codice di errore
|
|
if ( pMachMgr->GetLastErrorId() != 0) {
|
|
// assegno il codice di errore
|
|
nErr = SHE_SPECIAL ;
|
|
// recupero la stringa di errore
|
|
sError = pMachMgr->GetLastErrorString() ;
|
|
}
|
|
// altrimenti
|
|
else {
|
|
// assegno il codice di errore
|
|
nErr = SHE_GENERAL ;
|
|
// assegno la stringa di errore
|
|
sError = "General failure (contact supplier)" ;
|
|
}
|
|
ExeOutLog( sError, 1) ;
|
|
}
|
|
}
|
|
// terminazione simulazione
|
|
pMachMgr->SimExit() ;
|
|
// riabilito UI
|
|
ExeSetEnableUI( true) ;
|
|
return ( nErr == 0) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Machine Calc
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCalcTable( const string& sTable)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto la tavola corrente della macchinata corrente per i calcoli
|
|
return pMachMgr->SetCalcTable( sTable) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetCalcTool( const string& sTool, const string& sHead, int nExit)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto l'utensile corrente per il calcolo sulla macchina della macchinata corrente
|
|
return pMachMgr->SetCalcTool( sTool, sHead, nExit) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetRotAxisBlock( const string& sAxis, double dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto asse da bloccare con il suo valore
|
|
return pMachMgr->SetRotAxisBlock( sAxis, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcTool( string& sTool, string& sHead, int& nExit)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// restituisco l'utensile, la testa e l'uscita correnti per il calcolo sulla macchina della macchinata corrente
|
|
return ( pMachMgr->GetCalcTool( sTool) && pMachMgr->GetCalcHead( sHead) && pMachMgr->GetCalcExit( nExit)) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetRotAxisBlocked( int nInd, string& sAxis, double& dVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero dati bloccaggio asse in posizione nInd (0-based)
|
|
return pMachMgr->GetRotAxisBlocked( nInd, sAxis, dVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
|
|
int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo gli angoli macchina dalle direzioni fresa e ausiliaria passate
|
|
return pMachMgr->GetCalcAngles( vtDirT, vtDirA, nStat, dAngA1, dAngB1, dAngA2, dAngB2) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
|
|
int& nStat, DBLVECTOR& vAng1, DBLVECTOR& vAng2)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo gli angoli macchina dalle direzioni fresa e ausiliaria passate
|
|
return pMachMgr->GetCalcAngles( vtDirT, vtDirA, nStat, vAng1, vAng2) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcPositions( const Point3d& ptP, double dAngA, double dAngB,
|
|
int& nStat, double& dX, double& dY, double& dZ)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo gli assi lineari macchina dalla posizione e dagli assi rotanti
|
|
return pMachMgr->GetCalcPositions( ptP, dAngA, dAngB, nStat, dX, dY, dZ) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcPositions( const Point3d& ptP, const DBLVECTOR& vAng,
|
|
int& nStat, double& dX, double& dY, double& dZ)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo gli assi lineari macchina dalla posizione e dagli assi rotanti
|
|
return pMachMgr->GetCalcPositions( ptP, vAng, nStat, dX, dY, dZ) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB,
|
|
bool bBottom, Point3d& ptTip)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo il tip utensile dagli assi macchina
|
|
return pMachMgr->GetCalcTipFromPositions( dX, dY, dZ, dAngA, dAngB, false, bBottom, ptTip) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcTipFromPositions( double dX, double dY, double dZ, const DBLVECTOR& vAng,
|
|
bool bBottom, Point3d& ptTip)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo il tip utensile dagli assi macchina
|
|
return pMachMgr->GetCalcTipFromPositions( dX, dY, dZ, vAng, false, bBottom, ptTip) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcToolDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo la direzione utensile dagli assi macchina
|
|
return pMachMgr->GetCalcToolDirFromAngles( vAng, vtDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetCalcAuxDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// calcolo la direzione ausiliaria dagli assi macchina
|
|
return pMachMgr->GetCalcAuxDirFromAngles( vAng, vtDir) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeVerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifica l'extracorsa degli assi
|
|
return pMachMgr->VerifyOutstroke( dX, dY, dZ, dAngA, dAngB, nStat) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetOutstrokeInfo( string& sInfo)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero informazioni su extracorsa degli assi
|
|
sInfo = pMachMgr->GetOutstrokeInfo( ExeUiUnitsAreMM()) ;
|
|
return ( ! sInfo.empty()) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Machine
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetBaseId( const string& sBase)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo della base indicata nella macchina della macchinata corrente
|
|
return pMachMgr->GetBaseId( sBase) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetTableId( const string& sTable)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo della tavola indicata nella macchina della macchinata corrente
|
|
return pMachMgr->GetTableId( sTable) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetAxisId( const string& sAxis)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo dell'asse indicato nella macchina della macchinata corrente
|
|
return pMachMgr->GetAxisId( sAxis) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetHeadId( const string& sHead)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo della testa indicata nella macchina della macchinata corrente
|
|
return pMachMgr->GetHeadId( sHead) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetHeadExitCount( const string& sHead)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco numero di uscite della testa indicata nella macchina della macchinata corrente
|
|
return pMachMgr->GetHeadExitCount( sHead) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
ExeGetTcPosId( const string& sTcPos)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, GDB_ID_NULL)
|
|
// restituisco identificativo della posizione di cambio utensile indicata nella macchina della macchinata corrente
|
|
return pMachMgr->GetTcPosId( sTcPos) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisToken( const string& sAxis, string& sToken)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il token dell'asse
|
|
return pMachMgr->GetAxisToken( sAxis, sToken) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisType( const string& sAxis, bool& bLinear)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il tipo dell'asse
|
|
return pMachMgr->GetAxisType( sAxis, bLinear) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisInvert( const string& sAxis, bool& bInvert)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il flag di inversione asse in visualizzazione
|
|
return pMachMgr->GetAxisInvert( sAxis, bInvert) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisOffset( const string& sAxis, double& dOffset)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il valore di offset dell'asse in visualizzazione
|
|
return pMachMgr->GetAxisOffset( sAxis, dOffset) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAllTablesNames( STRVECTOR& vNames)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'elenco delle tavole
|
|
return pMachMgr->GetAllTablesNames( vNames) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAllHeadsNames( STRVECTOR& vNames)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'elenco delle teste
|
|
return pMachMgr->GetAllHeadsNames( vNames) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAllTcPosNames( STRVECTOR& vNames)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'elenco delle posizioni di cambio utensile
|
|
return pMachMgr->GetAllTcPosNames( vNames) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetAxisPos( const string& sAxis, double dVal, double* pdNewVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// metto l'asse nella nuova posizione
|
|
return pMachMgr->SetAxisPos( sAxis, dVal, pdNewVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisPos( const string& sAxis, double* pdVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico il parametro di ritorno
|
|
if ( pdVal == nullptr)
|
|
return false ;
|
|
// restituisco la posizione corrente dell'asse
|
|
return pMachMgr->GetAxisPos( sAxis, *pdVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisMin( const string& sAxis, double* pdMin)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico il parametro di ritorno
|
|
if ( pdMin == nullptr)
|
|
return false ;
|
|
// restituisco il valore minimo dell'asse
|
|
return pMachMgr->GetAxisMin( sAxis, *pdMin) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisMax( const string& sAxis, double* pdMax)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico il parametro di ritorno
|
|
if ( pdMax == nullptr)
|
|
return false ;
|
|
// restituisco il valore massimo dell'asse
|
|
return pMachMgr->GetAxisMax( sAxis, *pdMax) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetAxisHomePos( const string& sAxis, double* pdHomeVal)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// verifico il parametro di ritorno
|
|
if ( pdHomeVal == nullptr)
|
|
return false ;
|
|
// restituisco la posizione home
|
|
return pMachMgr->GetAxisHomePos( sAxis, *pdHomeVal) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeResetAxisPos( const string& sAxis)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// metto l'asse nella posizione home
|
|
return pMachMgr->ResetAxisPos( sAxis) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeLoadTool( const string& sHead, int nExit, const string& sTool)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// carico l'utensile sulla macchina della macchinata corrente in posizione indicata
|
|
return pMachMgr->LoadTool( sHead, nExit, sTool) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeGetLoadedTool( const string& sHead, int nExit, string& sTool)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupera l'utensile sulla macchina della macchinata corrente in posizione indicata
|
|
return pMachMgr->GetLoadedTool( sHead, nExit, sTool) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeUnloadTool( const string& sHead, int nExit)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// scaric l'utensile dalla posizione indicata della macchina della macchinata corrente
|
|
return pMachMgr->UnloadTool( sHead, nExit) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeResetHeadSet( const string& sHead)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// reset dell'insieme di teste corrente sulla macchina della macchinata corrente
|
|
return pMachMgr->ResetHeadSet( sHead) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
ExeSetMachineLook( int nFlag)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// imposto l'aspetto della macchina della macchinata corrente
|
|
return pMachMgr->SetMachineLook( nFlag) ;
|
|
}
|