EgtMachKernel :
- aggiunta gestione parametri ( Lati Aperti e Offset ottimizzati).
This commit is contained in:
+27
-1
@@ -153,6 +153,15 @@ Pocketing::Clone( void) const
|
||||
pPock->m_bAggrBottom = m_bAggrBottom ;
|
||||
pPock->m_bOpenOutRaw = m_bOpenOutRaw ;
|
||||
pPock->m_dOpenMinSafe = m_dOpenMinSafe ;
|
||||
pPock->m_bOptOffset = m_bOptOffset ;
|
||||
pPock->m_bOptOffsetCM = m_bOptOffsetCM ;
|
||||
pPock->m_bAssignFeed = m_bAssignFeed ;
|
||||
pPock->m_dDiam_Prec = m_dDiam_Prec ;
|
||||
pPock->m_dOffsetR_Prec = m_dOffsetR_Prec ;
|
||||
pPock->m_dSideStep_Prec = m_dSideStep_Prec ;
|
||||
pPock->m_dLen_Prec = m_dLen_Prec ;
|
||||
pPock->m_bOrderStepZ = m_bOrderStepZ ;
|
||||
pPock->m_bPocketPlane = m_bPocketPlane ;
|
||||
}
|
||||
catch( ...) {
|
||||
delete pPock ;
|
||||
@@ -279,6 +288,16 @@ Pocketing::Pocketing( void)
|
||||
m_bAggrBottom = false ;
|
||||
m_bOpenOutRaw = false ;
|
||||
m_dOpenMinSafe = 0 ;
|
||||
m_bOptOffset = true ;
|
||||
m_bOptOffsetCM = false ;
|
||||
m_bAssignFeed = false ;
|
||||
m_dDiam_Prec = 0. ;
|
||||
m_dOffsetR_Prec = 0. ;
|
||||
m_dOffsetR_Prec = 0. ;
|
||||
m_dSideStep_Prec = 0. ;
|
||||
m_dLen_Prec = 0. ;
|
||||
m_bOrderStepZ = true ;
|
||||
m_bPocketPlane = false ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -2271,10 +2290,15 @@ Pocketing::ProcessPath( int nPathId, int nPvId, int nClId)
|
||||
// recupero eventuale flag di lato aperto forzato fuori dal grezzo
|
||||
int nOpenOutRaw ;
|
||||
m_bOpenOutRaw = ( FromString( ExtractInfo( m_Params.m_sUserNotes, "OpenOutRaw="), nOpenOutRaw) && nOpenOutRaw != 0) ;
|
||||
|
||||
// recupero flag per minimo raggio di uscita per lato aperto
|
||||
FromString( ExtractInfo( m_Params.m_sUserNotes, "OpenEdgeRad="), m_dOpenEdgeRad) ;
|
||||
// recupero eventuale minima lunghezza di attacco su lato aperto
|
||||
FromString( ExtractInfo( m_Params.m_sUserNotes, "OpenMinSafe="), m_dOpenMinSafe) ;
|
||||
|
||||
// recupero flag per ottimizzazioni Offset
|
||||
int nOptOffs ;
|
||||
m_bOptOffset = ( FromString( ExtractInfo( m_Params.m_sUserNotes, "OptOffs="), nOptOffs) && nOptOffs != 0) ;
|
||||
|
||||
// se richiesta anteprima
|
||||
if ( nPvId != GDB_ID_NULL) {
|
||||
// creo gruppo per geometria di lavorazione del percorso
|
||||
@@ -10959,6 +10983,8 @@ Pocketing::AdjustContourWithOpenEdges( ICurveComposite* pCrvCompo, ICRVCOMPOPOVE
|
||||
if ( m_Params.m_nSubType == POCKET_SUB_SPIRALIN || m_Params.m_nSubType == POCKET_SUB_ZIGZAG)
|
||||
dOutEdge = max( dOutEdge, dDiam - dStep) ;
|
||||
double dRad = dOutEdge + dOffR ;
|
||||
if ( m_dOpenEdgeRad > EPS_SMALL)
|
||||
dRad = dRad - m_dOpenEdgeRad ;
|
||||
|
||||
// ricavo i tratti omogenei
|
||||
ICRVCOMPOPOVECTOR vpCrvs ;
|
||||
|
||||
+10
-9
@@ -339,13 +339,14 @@ class Pocketing : public Machining
|
||||
AggrBottom m_AggrBottom ; // dati eventuale aggregato da sotto
|
||||
bool m_bOpenOutRaw ; // flag forzatura lati aperti sempre fuori dal grezzo
|
||||
double m_dOpenMinSafe ; // minima distanza di sicurezza di attacco su lato aperto
|
||||
bool m_bOptOffset = true ; // flag per ottimizzazione numero di Offset necessari
|
||||
bool m_bOptOffsetCM = false ; // flag per ottimizzazione numero di Offset necessari con centroidi e medial Axis
|
||||
bool m_bAssignFeed = false ; // flag per controllo della Feed
|
||||
double m_dDiam_Prec = 0.0 ; // diametro utensile per precedente svuotatura
|
||||
double m_dOffsetR_Prec = 0.0 ; // offset radiale della svuotatura precedente
|
||||
double m_dSideStep_Prec = 0.0 ; // side Step della svuotatura precedente
|
||||
double m_dLen_Prec = 0.0 ; // Lunghezza del tool precedente
|
||||
bool m_bOrderStepZ = true ; // parametro per ordinare gli step Extra per Z decrescente o meno
|
||||
bool m_bPocketPlane = false ; // flag per svuotare solo la rimanenza sullo Step Extra
|
||||
bool m_bOptOffset ; // flag per ottimizzazione numero di Offset necessari
|
||||
bool m_bOptOffsetCM ; // flag per ottimizzazione numero di Offset necessari con centroidi e medial Axis
|
||||
bool m_bAssignFeed ; // flag per controllo della Feed
|
||||
double m_dDiam_Prec ; // diametro utensile per precedente svuotatura
|
||||
double m_dOffsetR_Prec ; // offset radiale della svuotatura precedente
|
||||
double m_dSideStep_Prec ; // side Step della svuotatura precedente
|
||||
double m_dLen_Prec ; // Lunghezza del tool precedente
|
||||
bool m_bOrderStepZ ; // parametro per ordinare gli step Extra per Z decrescente o meno
|
||||
bool m_bPocketPlane ; // flag per svuotare solo la rimanenza sullo Step Extra
|
||||
double m_dOpenEdgeRad = 0 ; // raggio di rientro per i lati aperti
|
||||
} ;
|
||||
Reference in New Issue
Block a user