EgtMachKernel :
- migliorie varie in pocketing.
This commit is contained in:
+6
-11
@@ -700,12 +700,8 @@ Pocketing::Apply( bool bRecalc, bool bPostApply)
|
||||
|
||||
// lavoro ogni singola catena
|
||||
bool bOk = true ;
|
||||
//int nPathId = m_pGeomDB->GetFirstGroupInGroup( nAuxId) ;
|
||||
//while ( nPathId != GDB_ID_NULL) {
|
||||
if ( ! ProcessPath( nAuxId, GDB_ID_NULL, nClId)) //nPathId
|
||||
if ( ! ProcessPath( nAuxId, GDB_ID_NULL, nClId))
|
||||
bOk = false ;
|
||||
// nPathId = m_pGeomDB->GetNextGroup( nPathId) ;
|
||||
//}
|
||||
if ( ! bOk)
|
||||
return false ;
|
||||
|
||||
@@ -1140,7 +1136,7 @@ Pocketing::GetCurves( SelData Id, ICURVEPLIST& lstPC)
|
||||
pCurve->ToGlob( frGlob) ;
|
||||
// salvo come TmpProp0 -> l'id della curva
|
||||
pCurve->SetTempProp( Id.nId, 0) ;
|
||||
// salvo come TmpProp0 -> -1 non ho lati adiacenti
|
||||
// salvo come TmpProp0 -> -1 ( non ho lati adiacenti)
|
||||
pCurve->SetTempProp( 1, -1) ;
|
||||
// la restituisco
|
||||
lstPC.emplace_back( Release( pCurve)) ;
|
||||
@@ -1162,7 +1158,7 @@ Pocketing::GetCurves( SelData Id, ICURVEPLIST& lstPC)
|
||||
for ( auto pCrv : lstPC)
|
||||
pCrv->ToGlob( frGlob) ;
|
||||
// salvo come TmpProp0 -> l'id della superificie ( per ogni loop )
|
||||
// salvo come TmpProp1 -> -1, non ho lati adiacenti
|
||||
// salvo come TmpProp1 -> -1 ( non ho lati adiacenti)
|
||||
for ( auto pCrv : lstPC) {
|
||||
pCrv->SetTempProp( Id.nId, 0) ;
|
||||
pCrv->SetTempProp( -1, 1) ;
|
||||
@@ -1233,7 +1229,6 @@ Pocketing::GetCurves( SelData Id, ICURVEPLIST& lstPC)
|
||||
pSrfpCompo->AddExtLoop( pCrvCompo->Clone()) ;
|
||||
if ( IsNull( pSrfpCompo) || pSrfpCompo->GetChunkCount() == 0)
|
||||
return false ;
|
||||
//m_pGeomDB->AddGeoObj(GDB_ID_NULL, GDB_ID_ROOT, pCrvCompo->Clone()) ;
|
||||
|
||||
bool bIspCompoMod = false ;
|
||||
INTVECTOR vBannedId{ -1, nFacet} ;
|
||||
@@ -1246,10 +1241,10 @@ Pocketing::GetCurves( SelData Id, ICURVEPLIST& lstPC)
|
||||
if ( pCrvCompo->GetCurveTempProp( j, nProp, 1) && nProp != -1 //-> se la curva j ha una faccia adiacente...
|
||||
&& find( vBannedId.begin(), vBannedId.end(), nProp) == vBannedId.end() //-> ...non già considerata da altre curve...
|
||||
&& GetSurfByAdj( pSurf, vBannedId, nProp)) { //-> ...e riesco a ricavare tutte le facce del bordo
|
||||
// 4) creo una regione piana con tutte le facce proiettate contenute
|
||||
// 4) creo una regione piana con tutte le facce proiettate contenute
|
||||
PtrOwner<ISurfFlatRegion> pSfrProj( CreateSurfFlatRegion()) ;
|
||||
if ( ! IsNull( pSfrProj) && ProjectEdgesOnSelFace( pSrfpCompo, pSurf, vBannedId, nFacet, pSfrProj)) {
|
||||
// sto modificando le singole superifici, quindi superificie del bordo esterno e superificie delle isole !!!
|
||||
// sto modificando le singole superifici, quindi superificie del bordo esterno e superificie delle isole
|
||||
if ( i == 0) {
|
||||
if ( ! pSrfpCompo->Subtract( *pSfrProj))
|
||||
return false ;
|
||||
@@ -1257,7 +1252,7 @@ Pocketing::GetCurves( SelData Id, ICURVEPLIST& lstPC)
|
||||
else {
|
||||
if ( ! pSrfpCompo->Add( *pSfrProj))
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
bIspCompoMod = true ;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -311,7 +311,7 @@ class Pocketing : public Machining
|
||||
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 = true ; // flag per controllo della Feed
|
||||
double m_dDiam_Prec = 75.0 ; // diametro utensile per precedente svuotatura
|
||||
double m_dDiam_Prec = 0.0 ; // diametro utensile per precedente svuotatura
|
||||
double m_dOffsetR_Prec = 0.0 ; // Offset radiale della svuotatura precedente
|
||||
|
||||
} ;
|
||||
Reference in New Issue
Block a user