EgtMachKernel (NewLink) :

- primo commit per codice NewLink.
This commit is contained in:
Riccardo Elitropi
2026-03-13 17:28:21 +01:00
parent 1ba62546b0
commit 984f206d56
7 changed files with 666 additions and 219 deletions
+42 -24
View File
@@ -296,19 +296,22 @@ Machine::LuaEmtAddArcMove( lua_State* L)
int
Machine::LuaEmtAddClimb( lua_State* L)
{
// 5 o 6 parametri : nMachId, vAxVal, nMask, nFlag, nFlag2 [, sInfo]
// 5 o 6 o 7 parametri : nMachId [, sMain], vAxVal, nMask, nFlag, nFlag2 [, sInfo]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
string sMain = MCH_CL ;
int nOffs = ( LuaGetParam( L, 2, sMain) ? 1 : 0) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
DBLVECTOR vAxVal ;
LuaCheckParam( L, 2, vAxVal)
LuaCheckParam( L, 2 + nOffs, vAxVal)
int nMask ;
LuaCheckParam( L, 3, nMask)
LuaCheckParam( L, 3 + nOffs, nMask)
int nFlag ;
LuaCheckParam( L, 4, nFlag)
LuaCheckParam( L, 4 + nOffs, nFlag)
int nFlag2 ;
LuaCheckParam( L, 5, nFlag2)
LuaCheckParam( L, 5 + nOffs, nFlag2)
string sInfo = "" ;
LuaGetParam( L, 6, sInfo) ;
LuaGetParam( L, 6 + nOffs, sInfo) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -317,7 +320,7 @@ Machine::LuaEmtAddClimb( lua_State* L)
// recupero l'operazione
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// imposto la discesa (primo movimento del primo percorso della lavorazione)
bool bOk = ( pOper != nullptr && pOper->AddSpecialClimb( vAxVal, ( nMask >= 0), GDB_ID_NULL, nFlag, nFlag2, nMask, sInfo, false)) ;
bool bOk = ( pOper != nullptr && pOper->AddSpecialClimb( vAxVal, ( nMask >= 0), GDB_ID_NULL, bMain, nFlag, nFlag2, nMask, sInfo, false)) ;
if ( ! bOk)
return luaL_error( L, " Error in EmtAddClimb") ;
LuaSetParam( L, bOk) ;
@@ -329,9 +332,12 @@ Machine::LuaEmtAddClimb( lua_State* L)
int
Machine::LuaEmtRemoveClimb( lua_State* L)
{
// 1 parametro : nMachId
// 1 o 2 parametri : nMachId [, sMain]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
string sMain = MCH_CL ;
LuaGetParam( L, 2, sMain) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -340,7 +346,7 @@ Machine::LuaEmtRemoveClimb( lua_State* L)
// recupero l'operazione
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// elimino le discese (primi movimenti "CLIMB" del primo percorso della lavorazione)
bool bOk = ( pOper != nullptr && pOper->RemoveClimb()) ;
bool bOk = ( pOper != nullptr && pOper->RemoveClimb( GDB_ID_NULL, bMain)) ;
LuaSetParam( L, bOk) ;
return 1 ;
@@ -350,19 +356,22 @@ Machine::LuaEmtRemoveClimb( lua_State* L)
int
Machine::LuaEmtAddRise( lua_State* L)
{
// 5 o 6 parametri : nMachId, vAxVal, nMask, nFlag, nFlag2 [, sInfo]
// 5 o 6 o 7 parametri : nMachId [, sMain], vAxVal, nMask, nFlag, nFlag2 [, sInfo]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
string sMain = MCH_CL ;
int nOffs = ( LuaGetParam( L, 2, sMain) ? 1 : 0) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
DBLVECTOR vAxVal ;
LuaCheckParam( L, 2, vAxVal)
LuaCheckParam( L, 2 + nOffs, vAxVal)
int nMask ;
LuaCheckParam( L, 3, nMask)
LuaCheckParam( L, 3 + nOffs, nMask)
int nFlag ;
LuaCheckParam( L, 4, nFlag)
LuaCheckParam( L, 4 + nOffs, nFlag)
int nFlag2 ;
LuaCheckParam( L, 5, nFlag2)
LuaCheckParam( L, 5 + nOffs, nFlag2)
string sInfo = "" ;
LuaGetParam( L, 6, sInfo) ;
LuaGetParam( L, 6 + nOffs, sInfo) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -371,7 +380,7 @@ Machine::LuaEmtAddRise( lua_State* L)
// recupero l'operazione
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// aggiungo la risalita (ultimo movimento dell'ultimo percorso della lavorazione)
bool bOk = ( pOper != nullptr && pOper->AddSpecialRise( vAxVal, ( nMask >= 0), GDB_ID_NULL, nFlag, nFlag2, nMask, sInfo)) ;
bool bOk = ( pOper != nullptr && pOper->AddSpecialRise( vAxVal, ( nMask >= 0), GDB_ID_NULL, bMain, nFlag, nFlag2, nMask, sInfo)) ;
if ( ! bOk)
return luaL_error( L, " Error in EmtAddRise") ;
LuaSetParam( L, bOk) ;
@@ -383,9 +392,12 @@ Machine::LuaEmtAddRise( lua_State* L)
int
Machine::LuaEmtRemoveRise( lua_State* L)
{
// 1 parametro : nMachId
// 1 o 2 parametri : nMachId [, bMain]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
string sMain = MCH_CL ;
LuaGetParam( L, 2, sMain) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -394,7 +406,7 @@ Machine::LuaEmtRemoveRise( lua_State* L)
// recupero l'operazione
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// elimino le risalite (ultimi movimenti "RISE" dell'ultimo percorso della lavorazione)
bool bOk = ( pOper != nullptr && pOper->RemoveRise()) ;
bool bOk = ( pOper != nullptr && pOper->RemoveRise( GDB_ID_NULL, bMain)) ;
LuaSetParam( L, bOk) ;
return 1 ;
@@ -404,11 +416,14 @@ Machine::LuaEmtRemoveRise( lua_State* L)
int
Machine::LuaEmtGetInitialAxesPos( lua_State* L)
{
// 1 o 2 parametri : nMachId [, bSkipClimb]
// 1 o 2 o 3 parametri : nMachId [, sMain] [, bSkipClimb]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
string sMain = MCH_CL ;
int nOffs = ( LuaGetParam( L, 2, sMain) ? 1 : 0) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
bool bSkipClimb = true ;
LuaGetParam( L, 2, bSkipClimb) ;
LuaGetParam( L, 2 + nOffs, bSkipClimb) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -418,7 +433,7 @@ Machine::LuaEmtGetInitialAxesPos( lua_State* L)
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// acquisico il valore iniziale degli assi macchina
DBLVECTOR vAxesVal ;
bool bOk = ( pOper != nullptr && pOper->GetInitialAxesValues( bSkipClimb, vAxesVal)) ;
bool bOk = ( pOper != nullptr && pOper->GetInitialAxesValues( bSkipClimb, bMain, vAxesVal)) ;
if ( bOk)
LuaSetParam( L, vAxesVal) ;
else
@@ -431,11 +446,14 @@ Machine::LuaEmtGetInitialAxesPos( lua_State* L)
int
Machine::LuaEmtGetFinalAxesPos( lua_State* L)
{
// 1 o 2 parametri : nMachId [, bSkipRise]
// 1 o 2 o 3 parametri : nMachId [, sMain] [, bSkipRise]
int nMachId ;
LuaCheckParam( L, 1, nMachId)
bool bSkipRise = true ;
LuaGetParam( L, 2, bSkipRise) ;
string sMain = MCH_CL ;
int nOffs = ( LuaGetParam( L, 2, sMain) ? 1 : 0) ;
bool bMain = ( ! EqualNoCase( sMain, MCH_DBL)) ;
LuaGetParam( L, 2 + nOffs, bSkipRise) ;
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
@@ -445,7 +463,7 @@ Machine::LuaEmtGetFinalAxesPos( lua_State* L)
Operation* pOper = GetOperation( m_pMchLua->m_pGeomDB->GetUserObj( nMachId)) ;
// acquisico il valore finale degli assi macchina
DBLVECTOR vAxesVal ;
bool bOk = ( pOper != nullptr && pOper->GetFinalAxesValues( bSkipRise, vAxesVal)) ;
bool bOk = ( pOper != nullptr && pOper->GetFinalAxesValues( bSkipRise, bMain, vAxesVal)) ;
if ( bOk)
LuaSetParam( L, vAxesVal) ;
else