EgtMachKernel :

- controllo validità superfici e coerenza con le normali.
This commit is contained in:
Riccardo Elitropi
2023-09-18 13:17:24 +02:00
parent ec91d76869
commit 4ed01598a5
+9 -3
View File
@@ -9148,7 +9148,7 @@ Pocketing::AdjustContourWithOpenEdges( ICurveComposite* pCompo, ICRVCOMPOPOVECTO
PtrOwner<ICurveComposite> pCrvNew( CreateCurveComposite()) ;
if ( ! bInVsOut &&
AdjustPathOutsideRawForOpenEdges( pCompo_clone, vCrvIsl, pCompo, ptS, ptE, dRad, dDiam,
pCrvNew, vtTrasl, pStmRaw, bInVsOut)) {
pCrvNew, vtTrasl, pStmRaw, !bInVsOut)) {
pCompo->Clear() ;
pCompo->CopyFrom( pCrvNew) ;
}
@@ -10763,8 +10763,14 @@ Pocketing::SubtractFinalShape( ISurfFlatRegion* pSfrCurr, const Vector3d& vtTras
if ( IsNull( pSfrCurr_c) || ! pSfrCurr_c->IsValid())
return false ;
if ( ! pSfrCurr_c->Subtract( *pSfrShape_c))
return false ;
//m_pGeomDB->AddGeoObj( GDB_ID_NULL, GDB_ID_ROOT, pSfrCurr_c->Clone()) ;
//m_pGeomDB->AddGeoObj( GDB_ID_NULL, GDB_ID_ROOT, pSfrShape_c->Clone()) ;
if ( pSfrCurr_c ->IsValid() && pSfrShape_c->IsValid()) {
if ( AreOppositeVectorApprox( pSfrCurr_c->GetNormVersor(), pSfrShape_c->GetNormVersor()))
pSfrShape_c->Invert() ;
if ( ! pSfrCurr_c->Subtract( *pSfrShape_c))
return false ;
}
// ricalcolo le TmpProp
SurfFlatRegionByContours sfrBC ;