EgtMachKernel :
- aggiunta gestione Invert su asse (per ora solo in simulazione) - possibilità di invertire lavorazione fori passanti - in simulazione e generazione aggiunti punti estremi di box lavorazione.
This commit is contained in:
+24
-2
@@ -832,6 +832,11 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName
|
||||
LOG_INFO( GetEMkLogger(), sOut.c_str()) ;
|
||||
return true ;
|
||||
}
|
||||
// se richiesta inversione e foro passante, provvedo
|
||||
if ( m_Params.m_bInvert && ! hole.bBlind) {
|
||||
hole.ptIni -= hole.vtDir * hole.dLen ;
|
||||
hole.vtDir.Invert() ;
|
||||
}
|
||||
// assegno il vettore estrazione al gruppo del percorso
|
||||
m_pGeomDB->SetInfo( nPathId, KEY_EXTR, hole.vtDir) ;
|
||||
// assegno il punto di inizio al gruppo del percorso
|
||||
@@ -866,6 +871,13 @@ Drilling::GenerateHoleCl( int nInd, const SelData& nCircId, const string& sPName
|
||||
LOG_INFO( GetEMkLogger(), sOut.c_str()) ;
|
||||
}
|
||||
}
|
||||
|
||||
// assegno al gruppo l'ingombro del percorso di lavoro
|
||||
BBox3d b3Grp ;
|
||||
m_pGeomDB->GetGlobalBBox( nPathId, b3Grp) ;
|
||||
m_pGeomDB->SetInfo( nPathId, KEY_PMIN, b3Grp.GetMin()) ;
|
||||
m_pGeomDB->SetInfo( nPathId, KEY_PMAX, b3Grp.GetMax()) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -1149,8 +1161,18 @@ Drilling::GetHoleData( SelData Id, Hole& hole)
|
||||
hole.vtDir.ToGlob( frGlob) ;
|
||||
hole.vtDir.Normalize() ;
|
||||
hole.dLen = abs( dDepth) ;
|
||||
// se verticale e arriva fino al fondo grezzo, allora passante altrimenti cieco
|
||||
hole.bBlind = ! ( vtExtrG.IsZplus() && hole.dLen > dRbDist - EPS_SMALL) ;
|
||||
// per default è cieco
|
||||
hole.bBlind = true ;
|
||||
// se verticale ed arriva fino al fondo grezzo, allora passante
|
||||
if ( hole.vtDir.IsZplus() && hole.dLen > dRbDist - EPS_SMALL)
|
||||
hole.bBlind = false ;
|
||||
// altrimenti determino la distanza del fondo del foro dal bordo del grezzo
|
||||
else {
|
||||
Point3d ptEnd = hole.ptIni - hole.vtDir * hole.dLen ;
|
||||
double dElev ;
|
||||
if ( GetElevation( m_nPhase, hole.ptIni, - hole.vtDir, dElev) && dElev <= hole.dLen + 10)
|
||||
hole.bBlind = false ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user