EgtGeomKernel 2.5i1 :
- corretta SetSawTool di Tool per caso con raggio corner uguale a raggio - aggiunta prima versione di proiezione curva su superficie trimesh.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2015-2022
|
||||
// EgalTech 2015-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : Tool.cpp Data : 04.07.18 Versione : 2.4f3
|
||||
// File : Tool.cpp Data : 08.09.23 Versione : 2.5i1
|
||||
// Contenuto : Implementazione della classe Tool
|
||||
//
|
||||
//
|
||||
@@ -87,6 +87,8 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
if ( dH < EPS_SMALL || dR < EPS_SMALL || dCornR < - EPS_SMALL)
|
||||
return false ;
|
||||
|
||||
bool bApproxWithLines = false ;
|
||||
|
||||
// utensile cilindrico
|
||||
if ( dCornR < EPS_SMALL) {
|
||||
m_nType = CYLMILL ;
|
||||
@@ -126,9 +128,8 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
m_Outline.AddLine( pt2);
|
||||
m_Outline.AddArcTg( pt3) ;
|
||||
m_Outline.AddLine( pt4) ;
|
||||
// se da approosimare
|
||||
if ( m_bApproxWithLines)
|
||||
return SetGenTool( sToolName, &m_Outline, nToolNum) ;
|
||||
// se da approssimare
|
||||
bApproxWithLines = m_bApproxWithLines ;
|
||||
}
|
||||
// utensile sferico
|
||||
else {
|
||||
@@ -151,7 +152,7 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
}
|
||||
|
||||
// eventuali sistemazioni per altezza tagliente
|
||||
if ( ModifyForCutterHeight())
|
||||
if ( ModifyForCutterHeight() || bApproxWithLines)
|
||||
return SetGenTool( sToolName, &m_Outline, nToolNum) ;
|
||||
else
|
||||
return true ;
|
||||
@@ -381,7 +382,7 @@ Tool::SetSawTool( const string& sToolName, double dH, double dR,
|
||||
}
|
||||
// altrimenti con raggio corner
|
||||
else {
|
||||
double dCR = Clamp( dCornR, 0., dThick / 2) ;
|
||||
double dCR = Clamp( dCornR, 0., min( dThick / 2, dR - 10 * EPS_SMALL)) ;
|
||||
// creazione profilo
|
||||
m_Outline.AddPoint( pt0) ;
|
||||
m_Outline.AddLine( pt1) ;
|
||||
@@ -410,7 +411,7 @@ Tool::SetSawTool( const string& sToolName, double dH, double dR,
|
||||
}
|
||||
// altrimenti con raggio corner
|
||||
else {
|
||||
double dCR = Clamp( dCornR, 0., dThick / 2) ;
|
||||
double dCR = Clamp( dCornR, 0., min( dThick / 2, dR - 10 * EPS_SMALL)) ;
|
||||
// creazione profilo
|
||||
m_Outline.AddPoint( pt0) ;
|
||||
m_Outline.AddLine( pt3 - X_AX * dCR) ;
|
||||
|
||||
Reference in New Issue
Block a user