Modifiche ad asportazioni volumi avanzate
This commit is contained in:
+124
-4
@@ -1810,7 +1810,34 @@ VolZmap::GenTool_ZDrilling( int nGrid, const Point3d& ptS, const Point3d& ptE, c
|
||||
if ( m_Tool.GetCuttingFlag())
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
else if ( pCurve->GetTempProp( 1) == 1) {
|
||||
/*SurfSpherePart_Milling( nGrid, ptCenS, ptCenS, vtToolDir, dRadius, double dInfH, double dSupH, bool bOuterCutter)*/ ;
|
||||
double dStH = ptStart.y - ptCen.y ;
|
||||
double dEnH = ptEnd.y - ptCen.y ;
|
||||
// Tagliente esterno
|
||||
if ( dEnH < dStH) {
|
||||
if ( dEnH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
else if ( dStH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, dStH, true) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, dEnH, true) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
}
|
||||
// Tagliente interno
|
||||
else {
|
||||
if ( dEnH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, abs( dEnH), abs( dStH), false) ;
|
||||
}
|
||||
else if ( dStH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, abs( dStH), false) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, abs( dEnH), false) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, abs( dStH), abs( dEnH), false) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
// aggiorno l'altezza
|
||||
//dHeight = abs( ptStart.y - ptEnd.y) ;
|
||||
@@ -1944,7 +1971,38 @@ VolZmap::GenTool_ZMilling( int nGrid, const Point3d& ptS, const Point3d& ptE, co
|
||||
Point3d ptCenS = ptI - vtToolDir * ( ptStart.y - ptCen.y) ;
|
||||
Point3d ptCenE = ptCenS + vtMove ;
|
||||
// Eseguo l'asportazione del materiale
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
if ( m_Tool.GetCuttingFlag())
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
else if ( pCurve->GetTempProp( 1) == 1) {
|
||||
double dStH = ptStart.y - ptCen.y ;
|
||||
double dEnH = ptEnd.y - ptCen.y ;
|
||||
// Tagliente esterno
|
||||
if ( dEnH < dStH) {
|
||||
if ( dEnH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
else if ( dStH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, dStH, true) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, dEnH, true) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
}
|
||||
// Tagliente interno
|
||||
else {
|
||||
if ( dEnH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, abs( dEnH), abs( dStH), false) ;
|
||||
}
|
||||
else if ( dStH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, abs( dStH), false) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, abs( dEnH), false) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, abs( dStH), abs( dEnH), false) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
// aggiorno l'altezza
|
||||
//dHeight = abs( ptStart.y - ptEnd.y) ;
|
||||
}
|
||||
@@ -3242,7 +3300,38 @@ VolZmap::GenTool_Drilling( int nGrid, const Point3d& ptS, const Point3d& ptE, co
|
||||
Point3d ptCenS = ptI - vtToolDir * ( ptStart.y - ptCen.y) ;
|
||||
Point3d ptCenE = ptCenS + vtMove ;
|
||||
// Eseguo l'asportazione del materiale
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
if ( m_Tool.GetCuttingFlag())
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
else if ( pCurve->GetTempProp( 1) == 1) {
|
||||
double dStH = ptStart.y - ptCen.y ;
|
||||
double dEnH = ptEnd.y - ptCen.y ;
|
||||
// Tagliente esterno
|
||||
if ( dEnH < dStH) {
|
||||
if ( dEnH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
else if ( dStH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, dStH, true) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, dEnH, true) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
}
|
||||
// Tagliente interno
|
||||
else {
|
||||
if ( dEnH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, abs( dEnH), abs( dStH), false) ;
|
||||
}
|
||||
else if ( dStH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, abs( dStH), false) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, abs( dEnH), false) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, abs( dStH), abs( dEnH), false) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
// aggiorno l'altezza
|
||||
//dHeight = abs( ptStart.y - ptEnd.y) ;
|
||||
}
|
||||
@@ -3394,7 +3483,38 @@ VolZmap::GenTool_Milling( int nGrid, const Point3d& ptS, const Point3d& ptE, con
|
||||
Point3d ptCenS = ptI - vtToolDir * ( ptStart.y - ptCen.y) ;
|
||||
Point3d ptCenE = ptCenS + vtMove ;
|
||||
// Eseguo l'asportazione del materiale
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
if ( m_Tool.GetCuttingFlag())
|
||||
CompBall_Milling( nGrid, ptCenS, ptCenE, dRadius) ;
|
||||
else if ( pCurve->GetTempProp( 1) == 1) {
|
||||
double dStH = ptStart.y - ptCen.y ;
|
||||
double dEnH = ptEnd.y - ptCen.y ;
|
||||
// Tagliente esterno
|
||||
if ( dEnH < dStH) {
|
||||
if ( dEnH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
else if ( dStH > 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, dStH, true) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, dEnH, true) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, dEnH, dStH, true) ;
|
||||
}
|
||||
}
|
||||
// Tagliente interno
|
||||
else {
|
||||
if ( dEnH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, abs( dEnH), abs( dStH), false) ;
|
||||
}
|
||||
else if ( dStH < 0) {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, vtToolDir, dRadius, 0, abs( dStH), false) ;
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, 0, abs( dEnH), false) ;
|
||||
}
|
||||
else {
|
||||
SurfSpherePart_Milling( nGrid, ptCenS, ptCenE, - vtToolDir, dRadius, abs( dStH), abs( dEnH), false) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
// aggiorno l'altezza
|
||||
//dHeight = abs( ptStart.y - ptEnd.y) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user