EgtMachKernel 1.6r4 :
- prima versione del bloccaggio assi rotanti.
This commit is contained in:
+49
-25
@@ -245,6 +245,46 @@ MachMgr::SetCalcTool( const string& sTool, const string& sHead, int nExit)
|
||||
return ( ( pMch != nullptr) ? pMch->SetCurrTool( sTool, sHead, nExit) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::SetRotAxisBlock( const string& sAxis, double dVal)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
if ( pMch == nullptr)
|
||||
return false ;
|
||||
int nAxId = pMch->GetAxisId( sAxis) ;
|
||||
if ( nAxId == GDB_ID_NULL)
|
||||
return false ;
|
||||
m_vAxisBlock.emplace_back( sAxis, dVal) ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::ApplyRotAxisBlock( void)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
if ( pMch == nullptr)
|
||||
return false ;
|
||||
// applico blocchi
|
||||
bool bOk = true ;
|
||||
for ( auto& abVal : m_vAxisBlock) {
|
||||
if ( ! pMch->BlockKinematicRotAxis( abVal.sAxis, abVal.dVal))
|
||||
bOk = false ;
|
||||
}
|
||||
// pulisco
|
||||
m_vAxisBlock.clear() ;
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::IsKinematicRotAxisBlocked( int nInd)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
return ( ( pMch != nullptr) ? pMch->IsKinematicRotAxisBlocked( nInd) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::GetCalcTool( string& sTool)
|
||||
@@ -302,30 +342,6 @@ MachMgr::GetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
|
||||
return ( ( pMch != nullptr) ? pMch->GetAngles( vtDirT, vtDirA, nStat, dAngA1, dAngB1, dAngA2, dAngB2) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::BlockKinematicRotAxis( const string& sAxis, double dVal)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
return ( ( pMch != nullptr) ? pMch->BlockKinematicRotAxis( sAxis, dVal) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::FreeKinematicRotAxis( const string& sAxis)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
return ( ( pMch != nullptr) ? pMch->FreeKinematicRotAxis( sAxis) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::IsKinematicRotAxisBlocked( int nInd)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
return ( ( pMch != nullptr) ? pMch->IsKinematicRotAxisBlocked( nInd) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::GetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
|
||||
@@ -382,9 +398,17 @@ MachMgr::GetNearestAngleInStroke( int nId, double dAngRef, double& dAng)
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::VerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat)
|
||||
{
|
||||
DBLVECTOR vAng(2) ; vAng[0] = dAngA ; vAng[1] = dAngB ;
|
||||
return VerifyOutstroke( dX, dY, dZ, vAng, nStat) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::VerifyOutstroke( double dX, double dY, double dZ, const DBLVECTOR& vAng, int& nStat)
|
||||
{
|
||||
Machine* pMch = GetCurrMachine() ;
|
||||
return ( ( pMch != nullptr) ? pMch->VerifyOutstroke( dX, dY, dZ, dAngA, dAngB, nStat) : false) ;
|
||||
return ( ( pMch != nullptr) ? pMch->VerifyOutstroke( dX, dY, dZ, vAng, nStat) : false) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user