EgtExchange 1.8j2 :

- correzione in lettura STL ASCII con più spazi
- correzioni e migliorie varie in lettura BTL.
This commit is contained in:
Dario Sassi
2017-10-10 07:48:03 +00:00
parent 17f288ca3a
commit 07c3fedfe5
4 changed files with 68 additions and 14 deletions
+14 -3
View File
@@ -3863,8 +3863,19 @@ BtlGeom::AddFreeContour( int nGroup, int nProc, int nSide, const string& sDes, i
// verifico se gli estremi sono sul bordo della faccia
Point3d ptStart ; pCrvCompo->GetStartPoint( ptStart) ;
Point3d ptEnd ; pCrvCompo->GetEndPoint( ptEnd) ;
bool bEndsOnCont = IsPointOnOrNearFaceContour( ptStart, true, nSide) &&
IsPointOnOrNearFaceContour( ptEnd, true, nSide) ;
bool bEndsOnCont = IsPointNearFaceContour( ptStart, true, nSide) &&
IsPointNearFaceContour( ptEnd, true, nSide) ;
bool bStartOnCont = IsPointNearFaceContour( ptStart, true, nSide) ;
if ( ! bClosed && bEndsOnCont) {
if ( ! IsPointOnFaceContour( ptStart, true, nSide)) {
SetPointOnFaceContour( ptStart, true, nSide) ;
pCrvCompo->ModifyStart( ptStart) ;
}
if ( ! IsPointOnFaceContour( ptEnd, true, nSide)) {
SetPointOnFaceContour( ptEnd, true, nSide) ;
pCrvCompo->ModifyEnd( ptEnd) ;
}
}
// verifico se interessa tutto lo spessore della trave perpendicolarmente alla faccia
BBox3d b3Crv ; pCrvCompo->GetLocalBBox( b3Crv) ;
bool bHCross = ( ! b3Crv.IsEmpty() &&
@@ -3910,7 +3921,7 @@ BtlGeom::AddFreeContour( int nGroup, int nProc, int nSide, const string& sDes, i
// identificativi di geometrie ausiliarie
SetAuxId( nId, {nTId}) ;
// aggiusto l'outline se spessore come trave
if ( UseProcessToTrimOutline( nId) && (( bEndsOnCont && bHCross) || ( bClosed && m_bFcPocket)))
if ( UseProcessToTrimOutline( nId) && ((( bEndsOnCont || bClosed) && bHCross) || ( bClosed && m_bFcPocket)))
TrimOutline( nId) ;
return true ;