EgtMachKernel 2.1i3 :
- in Pocketing con SpiralIn se ci sono lati aperti si cerca l'ingresso da fuori.
This commit is contained in:
Binary file not shown.
+14
-2
@@ -1621,7 +1621,7 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId)
|
||||
return false ;
|
||||
break ;
|
||||
case POCKET_SUB_SPIRALIN :
|
||||
if ( ! AddSpiralIn( pCompo, vtTool, vtExtr, dDepth, dElev, dOkStep, bSplitArcs))
|
||||
if ( ! AddSpiralIn( pCompo, vtTool, vtExtr, dDepth, dElev, dOkStep, bSplitArcs, bMidOpen, ptMidOpen))
|
||||
return false ;
|
||||
break ;
|
||||
case POCKET_SUB_SPIRALOUT :
|
||||
@@ -2594,7 +2594,7 @@ Pocketing::AddOneWay( const ICurveComposite* pCompo, const Vector3d& vtTool, con
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Pocketing::AddSpiralIn( const ICurveComposite* pCompo, const Vector3d& vtTool, const Vector3d& vtExtr,
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs)
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs, bool bMidOpen, const Point3d& ptMidOpen)
|
||||
{
|
||||
// recupero distanze di sicurezza
|
||||
double dSafeZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() ;
|
||||
@@ -2620,6 +2620,18 @@ Pocketing::AddSpiralIn( const ICurveComposite* pCompo, const Vector3d& vtTool, c
|
||||
if ( pMCrv->GetCurveCount() == 0)
|
||||
break ;
|
||||
++ nReg ;
|
||||
|
||||
// se prima regione e gestione lato aperto
|
||||
if ( nReg == 1 && bMidOpen) {
|
||||
// premetto alla spirale la partenza da fuori
|
||||
Point3d ptStart ; pMCrv->GetStartPoint( ptStart) ;
|
||||
Vector3d vtMove = ptMidOpen - ptStart ; vtMove.Normalize() ;
|
||||
Point3d ptOut = ptMidOpen + vtMove * ( 0.5 * m_TParams.m_dDiam + dSafeZ) ;
|
||||
pMCrv->AddLine( ptOut, false) ;
|
||||
// aggiungo al ritorno l'uscita
|
||||
Point3d ptEnd ; pRCrv->GetEndPoint( ptEnd) ;
|
||||
pRCrv->AddLine( ptOut, true) ;
|
||||
}
|
||||
|
||||
// determino numero e affondamento degli step
|
||||
int nStep = 1 ;
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ class Pocketing : public Machining
|
||||
bool AddOneWay( const ICurveComposite* pCompo, const Vector3d& vtTool, const Vector3d& vtExtr,
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs) ;
|
||||
bool AddSpiralIn( const ICurveComposite* pCompo, const Vector3d& vtTool, const Vector3d& vtExtr,
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs) ;
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs, bool bMidOpen, const Point3d& ptMidOpen) ;
|
||||
bool AddSpiralOut( const ICurveComposite* pCompo, const Vector3d& vtTool, const Vector3d& vtExtr,
|
||||
double dDepth, double dElev, double dOkStep, bool bSplitArcs) ;
|
||||
bool CalcSpiral( const ICurveComposite* pCompo, int nReg, bool bSplitArcs,
|
||||
|
||||
Reference in New Issue
Block a user