EgtMachKernel :
- Aggiunta gestione punti iniziali in Sgrossature e Finiture.
This commit is contained in:
+3
-3
@@ -1408,7 +1408,7 @@ SurfFinishing::AddZigZag( ICAvToolSurfTm* pCAvTlStm, const Frame3d& frSurf, cons
|
||||
double dPockRadOffs = m_TParams.m_dDiam / 2 - m_Params.m_dSideStep - m_Params.m_dOverlap ;
|
||||
ICRVCOMPOPOVECTOR vpCrvs ;
|
||||
if ( ! CalcPocketing( pSfrPock, dPockRad, dPockRadOffs, m_Params.m_dSideStep, m_Params.m_dSideAngle,
|
||||
POCKET_ZIGZAG, false, false, true, false, nullptr, vpCrvs)) {
|
||||
POCKET_ZIGZAG, false, false, true, false, P_INVALID, nullptr, vpCrvs)) {
|
||||
m_pMchMgr->SetLastError( 3125, "Error in SurfFinishing : CalcPocketing failed") ;
|
||||
return false ;
|
||||
}
|
||||
@@ -1609,7 +1609,7 @@ SurfFinishing::AddOneWay( ICAvToolSurfTm* pCAvTlStm, const Frame3d& frSurf, cons
|
||||
double dPockRadOffs = m_TParams.m_dDiam / 2 - m_Params.m_dSideStep - m_Params.m_dOverlap ;
|
||||
ICRVCOMPOPOVECTOR vpCrvs ;
|
||||
if ( ! CalcPocketing( pSfrPock, dPockRad, dPockRadOffs, m_Params.m_dSideStep, m_Params.m_dSideAngle,
|
||||
POCKET_ONEWAY, false, false, true, false, nullptr, vpCrvs)) {
|
||||
POCKET_ONEWAY, false, false, true, false, P_INVALID, nullptr, vpCrvs)) {
|
||||
m_pMchMgr->SetLastError( 3125, "Error in SurfFinishing : CalcPocketing failed") ;
|
||||
return false ;
|
||||
}
|
||||
@@ -1811,7 +1811,7 @@ SurfFinishing::AddSpiral( ICAvToolSurfTm* pCAvTlStm, const Frame3d& frSurf, cons
|
||||
int nType = ( bInVsOut ? POCKET_SPIRALIN : POCKET_SPIRALOUT) ;
|
||||
ICRVCOMPOPOVECTOR vpCrvs ;
|
||||
if ( ! CalcPocketing( pSfrPock, dPockRad, dPockRadOffs, m_Params.m_dSideStep, m_Params.m_dSideAngle,
|
||||
nType, false, false, true, false, nullptr, vpCrvs)) {
|
||||
nType, false, false, true, false, P_INVALID, nullptr, vpCrvs)) {
|
||||
m_pMchMgr->SetLastError( 3125, "Error in SurfFinishing : CalcPocketing failed") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
+7
-5
@@ -1757,6 +1757,9 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
|
||||
bool bInvert = m_Params.m_bInvert ;
|
||||
// numero di Step corrente
|
||||
int nCurrStep = 0 ;
|
||||
/* punto finale di riferimento per il percorso attuale ( serve per trovare il punto iniziale
|
||||
del percorso successivo) */
|
||||
Point3d ptEndLastPath = P_INVALID ;
|
||||
|
||||
// ciclo sulle regioni
|
||||
bool bStart = true ;
|
||||
@@ -1773,7 +1776,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
|
||||
const ISurfFlatRegion* pSfrL = GetSurfFlatRegion( m_pGeomDB->GetGeoObj( vId.second)) ;
|
||||
if ( pSfrL == nullptr)
|
||||
return false ;
|
||||
pSfrLimit.Set( pSfrL->Clone()) ;
|
||||
pSfrLimit.Set( CloneSurfFlatRegion( pSfrL)) ;
|
||||
}
|
||||
// se il tipo è SPIRAL_OUT e sto gestendo uno step intermedio, lo lavoro come SPIRAL_IN
|
||||
if ( nSubType == SURFROU_SUB_SPIRALOUT && bIsSubStep) {
|
||||
@@ -1790,7 +1793,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
|
||||
ICRVCOMPOPOVECTOR vpCrvs ; // percorso di svuotatura
|
||||
// calcolo i percorsi di Pocketing
|
||||
if ( ! CalcPocketing( pSfrPock, m_TParams.m_dDiam / 2, 0., m_Params.m_dSideStep, m_Params.m_dSideAngle,
|
||||
nSubType, true, bInvert, false, true, pSfrLimit, vpCrvs)) {
|
||||
nSubType, true, bInvert, false, true, ptEndLastPath, pSfrLimit, vpCrvs)) {
|
||||
if ( bIsSubStep) {
|
||||
string sWarn = "Warning in SurfRoughing : CalcPocketing failed with substep (" + ToString( pSfrPock->GetTempParam( 0), 1) + ")" ;
|
||||
m_pMchMgr->SetWarning( 3055, sWarn) ;
|
||||
@@ -1980,8 +1983,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
|
||||
// se ultima entità
|
||||
if ( i == nMaxInd) {
|
||||
// dati fine entità
|
||||
Point3d ptEnd ;
|
||||
pCurve->GetEndPoint( ptEnd) ;
|
||||
pCurve->GetEndPoint( ptEndLastPath) ;
|
||||
Vector3d vtEnd ;
|
||||
pCurve->GetEndDir( vtEnd) ;
|
||||
// determino elevazione su uscita
|
||||
@@ -1989,7 +1991,7 @@ SurfRoughing::AddPocket( const INTINTVECTOR& vPocket, const Vector3d& vtTool, co
|
||||
// aggiungo uscita
|
||||
Point3d ptP1 ;
|
||||
SetFeed( GetEndFeed()) ;
|
||||
if ( ! AddLeadOut( ptEnd, vtEnd, vtTool,
|
||||
if ( ! AddLeadOut( ptEndLastPath, 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") ;
|
||||
|
||||
Reference in New Issue
Block a user