EgtMachKernel :
- modifiche per fresature con lama con testa da sopra e con accesso da sotto il pezzo.
This commit is contained in:
+6
-6
@@ -1483,20 +1483,20 @@ Mortising::GenerateMortisingCl( const ICurveComposite* pCompo, const Vector3d& v
|
||||
double dDelta = dElev - dDepth ;
|
||||
|
||||
// determino se l'inizio dell'attacco è esattamente sotto il grezzo, nel qual caso ricalcolo l'elevazione
|
||||
double dSafeZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() + m_pMchMgr->GetDeltaSafeZ( m_TParams.m_sHead) ;
|
||||
double dStartElev = 0 ;
|
||||
Point3d ptLi = ptStart + vtTool * dDelta ;
|
||||
bool bUnderStart = GetPointUnderRaw( ptLi, vtTool, GetRadiusForStartEndElevation(), m_TParams.m_dLen, dStartElev) ;
|
||||
bool bUnderStart = GetPointUnderRaw( ptLi, vtTool, GetRadiusForStartEndElevation(), m_TParams.m_dLen, false, dSafeZ, dStartElev) ;
|
||||
|
||||
// 1 -> punto approccio
|
||||
SetFlag( 1) ;
|
||||
double dAppr = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() + m_pMchMgr->GetDeltaSafeZ( m_TParams.m_sHead) ;
|
||||
Point3d ptP1 = ptStart + vtTool * ( dDelta + dStartElev + dAppr) ;
|
||||
Point3d ptP1 = ptStart + vtTool * ( dDelta + dStartElev + dSafeZ) ;
|
||||
if ( AddRapidStart( ptP1) == GDB_ID_NULL)
|
||||
return false ;
|
||||
SetFlag( 0) ;
|
||||
|
||||
// 2 -> punto fuori (se diverso dal precedente)
|
||||
if ( m_Params.m_dStartPos < dAppr) {
|
||||
if ( m_Params.m_dStartPos < dSafeZ) {
|
||||
Point3d ptP2 = ptStart + vtTool * ( dDelta + m_Params.m_dStartPos) ;
|
||||
if ( AddRapidMove( ptP2) == GDB_ID_NULL)
|
||||
return false ;
|
||||
@@ -1566,12 +1566,12 @@ Mortising::GenerateMortisingCl( const ICurveComposite* pCompo, const Vector3d& v
|
||||
// determino se la fine dell'uscita è esattamente sotto il grezzo, nel qual caso ricalcolo l'elevazione
|
||||
double dEndElev = 0 ;
|
||||
Point3d ptLo = ptLast + vtTool * dDelta ;
|
||||
bool bUnderEnd = GetPointUnderRaw( ptLo, vtTool, GetRadiusForStartEndElevation(), m_TParams.m_dLen, dEndElev) ;
|
||||
bool bUnderEnd = GetPointUnderRaw( ptLo, vtTool, GetRadiusForStartEndElevation(), m_TParams.m_dLen, false, dSafeZ, dEndElev) ;
|
||||
|
||||
// 6 -> ritorno all'approccio
|
||||
SetFeed( GetEndFeed()) ;
|
||||
SetFlag( 104) ; // risalita sopra la fine
|
||||
Point3d ptP6 = ptLast + vtTool * ( dDelta + dEndElev + dAppr) ;
|
||||
Point3d ptP6 = ptLast + vtTool * ( dDelta + dEndElev + dSafeZ) ;
|
||||
if ( AddLinearMove( ptP6) == GDB_ID_NULL)
|
||||
return false ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user