EgtExecutor 1.8k1 :
- gestione in EXE e LUA di GetCalcToolDirFromAngles e GetCalcAuxDirFromAngles con vettore di angoli.
This commit is contained in:
+4
-4
@@ -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) ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Binary file not shown.
+20
-12
@@ -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) ;
|
||||
|
||||
Reference in New Issue
Block a user