EgtGeomKernel :

- migliorie a asportazioni con chisel e mortiser su Zmap.
This commit is contained in:
Dario Sassi
2017-09-08 07:43:40 +00:00
parent 6eecea859e
commit 582b574f8b
2 changed files with 30 additions and 6 deletions
+19 -3
View File
@@ -991,11 +991,27 @@ VolZmap::IntersLineMyPolyhedron( const Point3d& ptLineSt, const Vector3d& vtLine
Point3d ptI5 = ptP + ( ( vtFacet5 * vtOb) / ( vtV * vtOb)) * vtV ;
Point3d ptI6 = ptP + ( ( vtFacet6 * vtOb) / ( vtV * vtOb)) * vtV ;
if ( abs( vtV.z) < EPS_ZERO &&
abs( ptP.z) > dLenZ / 2 - EPS_SMALL)
// Controlli affinché non vengano tagliati dexel a filo
// con il passaggio dell'utensile:
// Controllo sulle facce 1 e 2
if ( abs( vtV.z) < EPS_ZERO &&
abs( ptP.z) > dLenZ / 2 - EPS_SMALL)
return false ;
// Controllo sulle facce 3 e 4
if ( abs( vtV.y) < EPS_ZERO &&
( ptP.y < EPS_SMALL ||
ptP.y > dLenY - EPS_SMALL))
return false ;
// Controllo sulle facce 5 e 6
Vector3d vtW( dDeltaX, dLenY, 0) ;
vtW.Normalize() ;
Vector3d vtU = vtV - vtV.z * Z_AX - vtV * vtW * vtW ;
if ( vtU.Len() < EPS_ZERO &&
( ptP.x * dLenY < dDeltaX * ptP.y + dLenY * EPS_SMALL ||
ptP.x * dLenY > dDeltaX * ptP.y + dLenY * ( dLenX - EPS_SMALL)))
return false ;
// Ricerca intersezioni con le facce
int nIntNum = 0 ;
// Intersezione con la prima faccia