EgtMachKernel :

- aggiunte funzioni EmtModifyAxisPosition e EmtModifyAxisDirection per variare dati assi secondo testa corrente.
This commit is contained in:
Dario Sassi
2019-12-24 08:40:28 +00:00
parent 2ccd9fee17
commit 50bbbe202b
5 changed files with 120 additions and 3 deletions
+43 -1
View File
@@ -88,6 +88,8 @@ Machine::LuaInit( const string& sMachineName)
m_LuaMgr.RegisterFunction( "EmtAxis", Machine::LuaEmtAxis) ;
m_LuaMgr.RegisterFunction( "EmtHead", Machine::LuaEmtHead) ;
// registro le funzioni di modifica macchina per lua
m_LuaMgr.RegisterFunction( "EmtModifyAxisPosition", Machine::LuaEmtModifyAxisPosition) ;
m_LuaMgr.RegisterFunction( "EmtModifyAxisDirection", Machine::LuaEmtModifyAxisDirection) ;
m_LuaMgr.RegisterFunction( "EmtModifyAxisStroke", Machine::LuaEmtModifyAxisStroke) ;
m_LuaMgr.RegisterFunction( "EmtModifyAxisHome", Machine::LuaEmtModifyAxisHome) ;
m_LuaMgr.RegisterFunction( "EmtLinkRawPartToGroup", Machine::LuaEmtLinkRawPartToGroup) ;
@@ -465,7 +467,7 @@ Machine::LuaEmtAxis( lua_State* L)
// lettura eventuale campo 'Home' dalla tabella (default 0)
double dHome = 0 ;
LuaGetTabFieldParam( L, 1, FLD_HOME, dHome) ;
// lettura eventuale campo 'AdjustAux' dalla tabella (defualt false)
// lettura eventuale campo 'AdjustAux' dalla tabella (default false)
bool bAdjustAux = false ;
LuaGetTabFieldParam( L, 1, FLD_ADJUSTAUX, bAdjustAux) ;
// lettura campo 'Geo' dalla tabella
@@ -734,6 +736,46 @@ Machine::LuaEmtSpecialHead( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtModifyAxisPosition( lua_State* L)
{
// 2 parametri : sAxisName, ptPos
string sAxisName ;
LuaCheckParam( L, 1, sAxisName)
Point3d ptPos ;
LuaCheckParam( L, 2, ptPos)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// modifico la posizione dell'asse
bool bOk = m_pMchLua->ModifyMachineAxisPosition( sAxisName, ptPos) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtModifyAxisDirection( lua_State* L)
{
// 2 parametri : sAxisName, vtDir
string sAxisName ;
LuaCheckParam( L, 1, sAxisName)
Vector3d vtDir ;
LuaCheckParam( L, 2, vtDir)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// modifico la direzione dell'asse
bool bOk = m_pMchLua->ModifyMachineAxisDirection( sAxisName, vtDir) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtModifyAxisStroke( lua_State* L)