EgtExecutor 1.8k1 :

- gestione in EXE e LUA di GetCalcToolDirFromAngles e GetCalcAuxDirFromAngles con vettore di angoli.
This commit is contained in:
Dario Sassi
2017-11-13 09:14:35 +00:00
parent 28d676555e
commit 33aa4a7615
3 changed files with 24 additions and 16 deletions
+4 -4
View File
@@ -2650,22 +2650,22 @@ ExeGetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, doubl
//-----------------------------------------------------------------------------
bool
ExeGetCalcToolDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir)
ExeGetCalcToolDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir)
{
IMachMgr* pMachMgr = GetCurrMachMgr() ;
VERIFY_MACHMGR( pMachMgr, false)
// calcolo la direzione utensile dagli assi macchina
return pMachMgr->GetCalcToolDirFromAngles( dAngA, dAngB, vtDir) ;
return pMachMgr->GetCalcToolDirFromAngles( vAng, vtDir) ;
}
//-----------------------------------------------------------------------------
bool
ExeGetCalcAuxDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir)
ExeGetCalcAuxDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir)
{
IMachMgr* pMachMgr = GetCurrMachMgr() ;
VERIFY_MACHMGR( pMachMgr, false)
// calcolo la direzione ausiliaria dagli assi macchina
return pMachMgr->GetCalcAuxDirFromAngles( dAngA, dAngB, vtDir) ;
return pMachMgr->GetCalcAuxDirFromAngles( vAng, vtDir) ;
}
//-----------------------------------------------------------------------------
BIN
View File
Binary file not shown.
+20 -12
View File
@@ -2917,15 +2917,19 @@ LuaGetCalcTipFromPositions( lua_State* L)
static int
LuaGetCalcToolDirFromAngles( lua_State* L)
{
// 2 parametri : dAngA, dAngB
double dAngA ;
LuaCheckParam( L, 1, dAngA)
double dAngB ;
LuaCheckParam( L, 2, dAngB)
// da 1 a 4 parametri : dAngA, dAngB, dAngC, dAngD
DBLVECTOR vAng ;
for ( int i = 1 ; i <= 4 ; ++ i) {
double dAng ;
if ( LuaGetParam( L, i, dAng))
vAng.emplace_back( dAng) ;
else
break ;
}
LuaClearStack( L) ;
// Calcolo la direzione utensile dagli angoli macchina
Vector3d vtDir ;
bool bOk = ExeGetCalcToolDirFromAngles( dAngA, dAngB, vtDir) ;
bool bOk = ExeGetCalcToolDirFromAngles( vAng, vtDir) ;
// restituisco il risultato
if ( bOk)
LuaSetParam( L, vtDir) ;
@@ -2938,15 +2942,19 @@ LuaGetCalcToolDirFromAngles( lua_State* L)
static int
LuaGetCalcAuxDirFromAngles( lua_State* L)
{
// 2 parametri : dAngA, dAngB
double dAngA ;
LuaCheckParam( L, 1, dAngA)
double dAngB ;
LuaCheckParam( L, 2, dAngB)
// da 1 a 4 parametri : dAngA, dAngB, dAngC, dAngD
DBLVECTOR vAng ;
for ( int i = 1 ; i <= 4 ; ++ i) {
double dAng ;
if ( LuaGetParam( L, i, dAng))
vAng.emplace_back( dAng) ;
else
break ;
}
LuaClearStack( L) ;
// Calcolo la direzione ausiliaria dagli angoli macchina
Vector3d vtDir ;
bool bOk = ExeGetCalcAuxDirFromAngles( dAngA, dAngB, vtDir) ;
bool bOk = ExeGetCalcAuxDirFromAngles( vAng, vtDir) ;
// restituisco il risultato
if ( bOk && ! vtDir.IsSmall())
LuaSetParam( L, vtDir) ;