EgtGeomKernel :
- in CAvToolSurfTm eliminata SetMoveDir e aggiunto parametro equivalente in TestPosition e TestPath - in VolZmap migliorato calcolo BBox del movimento utensile.
This commit is contained in:
@@ -77,6 +77,7 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
m_nCurrentNum = nToolNum ;
|
||||
m_nType = UNDEF ;
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// verifica sulle minime dimensioni globali
|
||||
if ( dH < EPS_SMALL || dR < EPS_SMALL || dCornR < - EPS_SMALL)
|
||||
@@ -96,7 +97,6 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
Point3d pt1( m_dRadius, 0, 0) ;
|
||||
Point3d pt3( m_dRadius, - m_dHeight, 0) ;
|
||||
Point3d pt4( 0, - m_dHeight, 0) ;
|
||||
m_Outline.Clear() ;
|
||||
m_Outline.AddPoint( pt0) ;
|
||||
m_Outline.AddLine( pt1);
|
||||
m_Outline.AddLine( pt3) ;
|
||||
@@ -117,7 +117,6 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
Point3d pt2( m_dRadius, - m_dHeight + m_dTipHeight, 0) ;
|
||||
Point3d pt3( m_dTipRadius, - m_dHeight, 0) ;
|
||||
Point3d pt4( 0, - m_dHeight, 0) ;
|
||||
m_Outline.Clear() ;
|
||||
m_Outline.AddPoint( pt0) ;
|
||||
m_Outline.AddLine( pt1);
|
||||
m_Outline.AddLine( pt2);
|
||||
@@ -141,7 +140,6 @@ Tool::SetStdTool( const string& sToolName, double dH, double dR, double dCornR,
|
||||
Point3d pt1( m_dRadius, 0, 0) ;
|
||||
Point3d pt2( m_dRadius, - m_dHeight + m_dTipHeight, 0) ;
|
||||
Point3d pt4( 0, - m_dHeight, 0) ;
|
||||
m_Outline.Clear() ;
|
||||
m_Outline.AddPoint( pt0) ;
|
||||
m_Outline.AddLine( pt1);
|
||||
m_Outline.AddLine( pt2);
|
||||
@@ -164,6 +162,7 @@ Tool::SetAdvTool( const string& sToolName, double dH, double dR,
|
||||
m_nCurrentNum = nToolNum ;
|
||||
m_nType = UNDEF ;
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// Verifica dimensioni globali
|
||||
if ( dH < EPS_SMALL || dR < EPS_SMALL || dTipH < - EPS_SMALL || dTipR < - EPS_SMALL || dCornR < - EPS_SMALL)
|
||||
@@ -314,6 +313,7 @@ Tool::SetSawTool( const string& sToolName, double dH, double dR,
|
||||
m_nType = UNDEF ;
|
||||
m_nCurrentNum = nToolNum ;
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// Verifica dimensioni globali
|
||||
if ( dH < EPS_SMALL || dR < EPS_SMALL || dThick < EPS_SMALL || dStemR < - EPS_SMALL || dCornR < - EPS_SMALL)
|
||||
@@ -393,15 +393,13 @@ Tool::SetGenTool( const string& sToolName, const ICurveComposite* pToolOutline,
|
||||
m_nCurrentNum = nToolNum ;
|
||||
if ( pToolOutline != &m_Outline)
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// Copio il profilo e garantisco sia di soli archi e rette (converto eventuali curve di Bezier)
|
||||
if ( ! m_Outline.CopyFrom( pToolOutline) ||
|
||||
! m_Outline.ArcsBezierCurvesToArcsPerpExtr( m_dLinTol, m_dAngTolDeg))
|
||||
return false ;
|
||||
|
||||
// Flag di avvenuta approssimazione
|
||||
bool bApprox = false ;
|
||||
|
||||
// Ciclo sulle curve componenti
|
||||
const ICurve* pCurve = m_Outline.GetFirstCurve() ;
|
||||
while ( pCurve != nullptr) {
|
||||
@@ -440,7 +438,6 @@ Tool::SetGenTool( const string& sToolName, const ICurveComposite* pToolOutline,
|
||||
while ( plyApprox.GetNextPoint( ptEnd)) {
|
||||
m_ArcLineApprox.AddLine( ptEnd) ;
|
||||
}
|
||||
bApprox = true ;
|
||||
}
|
||||
// altrimenti lo aggiungo semplicemente
|
||||
else
|
||||
@@ -453,11 +450,6 @@ Tool::SetGenTool( const string& sToolName, const ICurveComposite* pToolOutline,
|
||||
pCurve = m_Outline.GetNextCurve() ;
|
||||
}
|
||||
|
||||
// Se non ci sono state approssimazioni, cancello la curva approssimante
|
||||
if ( ! bApprox)
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
|
||||
// Il profilo dell'utensile deve stare nel 1° e 4° quadrante del piano XY
|
||||
BBox3d Bounding ;
|
||||
m_Outline.GetLocalBBox( Bounding) ;
|
||||
@@ -486,6 +478,7 @@ Tool::SetMortiserTool( const string& sToolName, double dH, double dW, double dTh
|
||||
m_nCurrentNum = nToolNum ;
|
||||
m_nType = UNDEF ;
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// Verifica dimensioni globali
|
||||
if ( dH < EPS_SMALL || dW < EPS_SMALL ||
|
||||
@@ -512,6 +505,7 @@ Tool::SetChiselTool( const string& sToolName, double dH, double dW, double dTh,
|
||||
m_nCurrentNum = nToolNum ;
|
||||
m_nType = UNDEF ;
|
||||
m_Outline.Clear() ;
|
||||
m_ArcLineApprox.Clear() ;
|
||||
|
||||
// Verifica dimensioni globali
|
||||
if ( dH < EPS_SMALL || dW < EPS_SMALL || dTh < 0)
|
||||
|
||||
Reference in New Issue
Block a user