EgtMachKernel :

- migliorie varie.
This commit is contained in:
Riccardo Elitropi
2024-07-23 11:53:46 +02:00
parent 4af6caf657
commit 34488601f2
2 changed files with 12 additions and 11 deletions
+10 -9
View File
@@ -1614,7 +1614,7 @@ SurfRoughing::ProcessPath( int nPathId, int nTempId, int nPvId, int nClId)
// Eseguo le svuotature
double dElev = dDepth ;
if ( ! AddPocket( vPocket, vtTool, vtExtr, vCrvPocketCompo, dElev, dStep, dSubStep, bSplitArcs))
if ( ! AddPocket( vPocket, vtTool, vCrvPocketCompo, dElev, dStep, dSubStep, bSplitArcs))
return false ;
}
@@ -1797,8 +1797,8 @@ SurfRoughing::GetActiveSurfaces( INTVECTOR& vSurfId) const
//----------------------------------------------------------------------------
bool
SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const Vector3d& vtExtr,
const ICRVCOMPOPOVECTOR& vCrvPocketCompo, double dElev, double dStep, double dSubStep, bool bSplitArcs)
SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const ICRVCOMPOPOVECTOR& vCrvPocketCompo,
double dElev, double dStep, double dSubStep, bool bSplitArcs)
{
// recupero distanze di sicurezza
double dSafeZ = GetSafeZ() ;
@@ -1925,14 +1925,14 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
dCoeffFeed = ( dTempParam > EPS_SMALL ? dTempParam : 1) ;
// determino inizio attacco
Point3d ptP1 ;
if ( ! CalcLeadInStart( ptStart, vtStart, vtExtr, pRCrv, ptP1))
if ( ! CalcLeadInStart( ptStart, vtStart, vtTool, pRCrv, ptP1))
return false ;
// determino elevazione su inizio attacco
double dStElev = - dDepth ;
dStElev -= ( ptP1 - ptStart) * vtExtr ;
dStElev -= ( ptP1 - ptStart) * vtTool ;
// se attacco a zigzag o a spirale o a scivolo, l'elevazione va nell'attacco
if ( GetLeadInType() != POCKET_LI_NONE) {
ptP1 += vtExtr * ( dStElev + LIO_ELEV_TOL) ;
ptP1 += vtTool * ( dStElev + LIO_ELEV_TOL) ;
dStElev = - LIO_ELEV_TOL ;
}
// se inizio, approccio globale al punto iniziale
@@ -1969,8 +1969,9 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
}
// aggiungo attacco
SetFeed( GetStartFeed()) ;
bool bNoneForced = ( bOutStart || bSingleCrv || bIsZigZagOneWayPath) ;
if ( ! AddLeadIn( ptP1, ptStart, vtStart, vtExtr, pSfrPock,
bool bNoneForced = ( bOutStart || bSingleCrv ||
( bIsZigZagOneWayPath && ! vpCrvs[k]->IsClosed())) ;
if ( ! AddLeadIn( ptP1, ptStart, vtStart, vtTool, pSfrPock,
( ( nSubType == SURFROU_SUB_SPIRALIN || nSubType == SURFROU_SUB_SPIRALOUT)) ? Get( pRCrv) : nullptr,
( nSubType == SURFROU_SUB_SPIRALOUT) ? bInvert : ! bInvert,
bSplitArcs, bNoneForced, false)) {
@@ -2013,7 +2014,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
// aggiungo uscita
Point3d ptP1 ;
SetFeed( GetEndFeed()) ;
if ( ! AddLeadOut( ptEnd, vtEnd, vtExtr,
if ( ! AddLeadOut( ptEnd, vtEnd, vtTool,
( ( nSubType == SURFROU_SUB_SPIRALIN || nSubType == SURFROU_SUB_SPIRALOUT)) ? Get( pRCrv) : nullptr,
bSplitArcs, false, ptP1, dEndElev)) {
m_pMchMgr->SetLastError( 3014, "Error in SurfRoughing : LeadOut not computable") ;
+2 -2
View File
@@ -76,8 +76,8 @@ class SurfRoughing : public Machining
bool GetCurves( SelData Id, ICURVEPLIST& lstPC) ;
bool Chain( int nGrpDestId) ;
bool ProcessPath( int nPathId, int nTempId, int nPvId, int nClId) ;
bool AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const Vector3d& vtExtr,
const ICRVCOMPOPOVECTOR& vCrvPocketCompo, double dElev, double dStep, double dSubStep, bool bSplitArcs) ;
bool AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, const ICRVCOMPOPOVECTOR& vCrvPocketCompo,
double dElev, double dStep, double dSubStep, bool bSplitArcs) ;
bool AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
bool AddLinkApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr, bool bOutMove) ;
bool AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;