diff --git a/Operation.cpp b/Operation.cpp index 20c2559..f0db14e 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -643,6 +643,12 @@ Operation::ApproxWithArcsIfUseful( ICurveComposite* pCompo) int nCrvs = pCompo->GetCurveCount() ; if ( nCrvs < 5 || dLen > nCrvs * LIN_FEA_STD) return true ; + // limito l'approssimazione alle curve piane + Frame3d frRef ; + frRef.Set( ORIG, vtExtr) ; + BBox3d b3Crv ; + if ( ! pCompo->GetBBox( frRef, b3Crv) || ! b3Crv.IsEpsilonZ( 100 * EPS_SMALL)) + return true ; // calcolo approssimazione con archi (se possibile) PolyArc PA ; if ( ! pCompo->ApproxWithArcsEx( LIN_TOL_MID, ANG_TOL_STD_DEG, LIN_FEA_STD, PA))