EgtMachKernel :
- ore ZSAFEDELTA di testa per sole mortasature accetta un secondo valore che viene applicato quando l'inclinazione dall'orizzontale è minore di 45deg (default primo valore).
This commit is contained in:
@@ -152,3 +152,5 @@ const std::string NST_PARTREG_LAYER = "Region" ;
|
||||
//----------------------------------------------------------------------------
|
||||
// Minima componente zeta di versore utensile per lavorazione da sopra (-45deg)
|
||||
const double MIN_ZDIR_TOP_TOOL = -0.7072 ;
|
||||
// Minima componente zeta di versose utensile èer mortasatura quasi verticale (45deg)
|
||||
const double MIN_ZDIR_VERT_CHSAW = 0.7072 ;
|
||||
|
||||
@@ -477,7 +477,6 @@ class MachMgr : public IMachMgr
|
||||
int SimMoveAxes( int nMoveType, const SAMVECTOR& vAxNaEpSt) ;
|
||||
// Machine
|
||||
bool GetHeadAbove( const std::string& sHead) const ;
|
||||
double GetDeltaSafeZ( const std::string& sHead) const ;
|
||||
double GetAngDeltaMinForHome( void) const ;
|
||||
|
||||
private :
|
||||
|
||||
@@ -303,18 +303,6 @@ MachMgr::GetHeadAbove( const string& sHead) const
|
||||
return ( ! m_pGeomDB->GetInfo( GetHeadId( sHead), MCH_ABOVE, bAbove) || bAbove) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
double
|
||||
MachMgr::GetDeltaSafeZ( const string& sHead) const
|
||||
{
|
||||
if ( m_pGeomDB == nullptr)
|
||||
return 0 ;
|
||||
// Leggo da testa Info ZSAFEDELTA
|
||||
double dDeltaSafeZ = 0 ;
|
||||
m_pGeomDB->GetInfo( GetHeadId( sHead), MCH_ZSAFEDELTA, dDeltaSafeZ) ;
|
||||
return dDeltaSafeZ ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
double
|
||||
MachMgr::GetAngDeltaMinForHome( void) const
|
||||
|
||||
+1
-1
@@ -1557,7 +1557,7 @@ Mortising::GenerateOnePlungeCl( const Point3d& ptStart, const Point3d& ptEnd, co
|
||||
double dDelta = dElev - dDepth ;
|
||||
|
||||
// determino se l'inizio dell'attacco è esattamente sotto il grezzo, nel qual caso ricalcolo l'elevazione
|
||||
double dSafeZ = GetSafeZ() + m_pMchMgr->GetDeltaSafeZ( m_TParams.m_sHead) ;
|
||||
double dSafeZ = GetSafeZ() + GetDeltaSafeZ( vtTool) ;
|
||||
double dStartElev = 0 ;
|
||||
Point3d ptLi = ( nPlunge != MORTISE_PLUNGE_END ? ptStart : ptEnd) + vtTool * dDelta ;
|
||||
bool bUnderStart = GetAhPointUnderRaw( ptLi, vtTool, 0,
|
||||
|
||||
+18
-2
@@ -3958,6 +3958,23 @@ Operation::GetUserNotesZmax( void) const
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
double
|
||||
Operation::GetDeltaSafeZ( const Vector3d& vtTool) const
|
||||
{
|
||||
// Recupero macchina corrente
|
||||
Machine* pMch = ( m_pMchMgr != nullptr ? m_pMchMgr->GetCurrMachine() : nullptr) ;
|
||||
if ( pMch == nullptr)
|
||||
return false ;
|
||||
// Leggo da testa Info ZSAFEDELTA
|
||||
DBLVECTOR vdVal ;
|
||||
if ( ! m_pGeomDB->GetInfo( pMch->GetCurrHead(), MCH_ZSAFEDELTA, vdVal) || vdVal.empty())
|
||||
return 0 ;
|
||||
if ( vdVal.size() == 1)
|
||||
return vdVal[0] ;
|
||||
return ( vtTool.z > MIN_ZDIR_VERT_CHSAW ? vdVal[0] : vdVal[1]) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Operation::GetZHomeDown( void) const
|
||||
@@ -3967,9 +3984,8 @@ Operation::GetZHomeDown( void) const
|
||||
if ( pMch == nullptr)
|
||||
return false ;
|
||||
// Leggo da testa Info ZHOMEDOWN (0=falso[default], altrimenti vero)
|
||||
int nHeadId = pMch->GetCurrHead() ;
|
||||
bool bZHomeDown ;
|
||||
if ( ! m_pGeomDB->GetInfo( nHeadId, MCH_ZHOMEDOWN, bZHomeDown))
|
||||
if ( ! m_pGeomDB->GetInfo( pMch->GetCurrHead(), MCH_ZHOMEDOWN, bZHomeDown))
|
||||
bZHomeDown = false ;
|
||||
return bZHomeDown ;
|
||||
}
|
||||
|
||||
@@ -218,6 +218,7 @@ class Operation : public IUserObj
|
||||
bool GetRotationAtZmax( void) const ;
|
||||
bool ForcedZmax( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEnd, const BBox3d& b3Raws) const ;
|
||||
int GetUserNotesZmax( void) const ;
|
||||
double GetDeltaSafeZ( const Vector3d& vtTool) const ;
|
||||
bool GetZHomeDown( void) const ;
|
||||
bool TestCollisionAvoid( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEnd) const ;
|
||||
int SpecialTestCollisionAvoid( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEnd) const ;
|
||||
|
||||
Reference in New Issue
Block a user