EgtMachKernel :

- in foratura anche le composite con curve di Bezier che sono cerchi vengono riconosciute
- aggiustato parametro di sicurezza per controllo collisioni nei rapidi.
This commit is contained in:
Dario Sassi
2018-05-09 06:55:11 +00:00
parent 9cc19c0d31
commit f3ffeffc7d
3 changed files with 14 additions and 5 deletions
+12 -3
View File
@@ -1219,11 +1219,20 @@ Drilling::GetHoleData( SelData Id, Hole& hole)
const ICurveArc* pArc = GetCurveArc( m_pGeomDB->GetGeoObj( Id.nId)) ;
if ( pArc == nullptr) {
const ICurveComposite* pCompo = GetCurveComposite( m_pGeomDB->GetGeoObj( Id.nId)) ;
if ( pCompo == nullptr)
Point3d ptCen ;
Vector3d vtN ;
double dRad ;
bool bCCW ;
if ( pCompo == nullptr || ! pCompo->IsACircle( 100 * EPS_SMALL, ptCen, vtN, dRad, bCCW))
return false ;
const ICurveArc* pArcTmp = GetCurveArc( pCompo->GetFirstCurve()) ;
if ( pArcTmp == nullptr || ! pMyArc.Set( pArcTmp->Clone()))
pMyArc.Set( CreateCurveArc()) ;
if ( IsNull( pMyArc) || ! pMyArc->Set( ptCen, vtN, dRad))
return false ;
//if ( pCompo == nullptr)
// return false ;
//const ICurveArc* pArcTmp = GetCurveArc( pCompo->GetFirstCurve()) ;
//if ( pArcTmp == nullptr || ! pMyArc.Set( pArcTmp->Clone()))
// return false ;
Vector3d vtExtr ; pCompo->GetExtrusion( vtExtr) ;
pMyArc->SetExtrusion( vtExtr) ;
double dThick = 0 ; pCompo->GetThickness( dThick) ;