EgtMachKernel :
- in svuotatura con aggregato da sotto corretta la verifica della distanza limite dal bordo - nelle simulazioni migliorata visualizzazione collisioni con fixtures - in fresatura standard di singola curva e in centro fresa con variazioni su geometria di lavorazione (info MVar) si emette l'indice EMT.IDX riferito alla geometria originale (1-based).
This commit is contained in:
+13
@@ -2272,6 +2272,12 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
|
||||
string sMachIni = m_pMchMgr->GetCurrMachine()->GetMachineDir() + "\\" + m_pMchMgr->GetCurrMachine()->GetMachineName() + ".ini" ;
|
||||
bool bRapidOnOut = ( GetPrivateProfileInt( MACHININGS_SEC.c_str(), RAPIDONOUT_KEY.c_str(), 0, sMachIni.c_str()) == 1) ;
|
||||
|
||||
// Recupero necessità indicizzazione per variazioni di lavorazione ("MVar" da porte)
|
||||
bool bIndex = false ;
|
||||
string sInfo ;
|
||||
if ( m_Params.m_nWorkSide == MILL_WS_CENTER && m_vId.size() == 1 && m_pGeomDB->GetInfo( m_vId[0].nId, "MVar", sInfo))
|
||||
bIndex = true ;
|
||||
|
||||
// in caso di tabs ne aggiusto i parametri secondo il percorso
|
||||
TabData tdTabs ;
|
||||
AdjustTabsParams( pCompo, bPathTabsEnable, tdTabs) ;
|
||||
@@ -2298,6 +2304,8 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
|
||||
pCurve->Translate( - vtTool * dDepth) ;
|
||||
// se prima entità, approccio e affondo
|
||||
if ( i == 0) {
|
||||
// reset index
|
||||
SetIndex( 0) ;
|
||||
// dati inizio entità
|
||||
Point3d ptStart ;
|
||||
pCurve->GetStartPoint( ptStart) ;
|
||||
@@ -2448,6 +2456,9 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
|
||||
}
|
||||
// imposto versore correzione e ausiliario sul punto di arrivo
|
||||
CalcAndSetCorrAuxDir( pCompo, i + 1, false, true) ;
|
||||
// se richiesto, imposto indice entità
|
||||
if ( bIndex)
|
||||
SetIndex( i + 1) ;
|
||||
// elaborazioni sulla curva corrente
|
||||
if ( pCurve->GetType() == CRV_LINE) {
|
||||
ICurveLine* pLine = GetCurveLine( pCurve) ;
|
||||
@@ -2488,6 +2499,8 @@ Milling::AddStandardMilling( const ICurveComposite* pCompo, const Vector3d& vtTo
|
||||
}
|
||||
// se ultima entità, uscita e retrazione
|
||||
if ( i == nMaxInd) {
|
||||
// reset index
|
||||
SetIndex( 0) ;
|
||||
// dati fine entità
|
||||
Point3d ptEnd ;
|
||||
pCurve->GetEndPoint( ptEnd) ;
|
||||
|
||||
+1
-1
@@ -1877,7 +1877,7 @@ Pocketing::VerifyPathFromBottom( const ICurveComposite* pCompo, const Vector3d&
|
||||
}
|
||||
|
||||
// se supera il limite, errore
|
||||
if ( dMinDist > m_AggrBottom.dDMax) {
|
||||
if ( dMinDist - ( m_TParams.m_dDiam / 2 + GetOffsR()) > m_AggrBottom.dDMax) {
|
||||
m_pMchMgr->SetLastError( 2410, "Error in Pocketing : path too far from part sides") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1569,7 +1569,8 @@ FindCollisionMarkId( const IGeomDB* pGeomDB, int nCollId)
|
||||
int nCollParId = pGeomDB->GetParentId( nCollId) ;
|
||||
string sCollParName = "COLLISION" ;
|
||||
pGeomDB->GetName( nCollParId, sCollParName) ;
|
||||
if ( sCollParName != "COLLISION")
|
||||
// COLLISION per parti generiche di macchina, BASE e MOBILE per fixtures
|
||||
if ( sCollParName != "COLLISION" && sCollParName != "BASE" && sCollParName != "MOBILE")
|
||||
return nCollParId ;
|
||||
else {
|
||||
int nCollGprId = pGeomDB->GetParentId( nCollParId) ;
|
||||
|
||||
+2
-1
@@ -1530,7 +1530,8 @@ FindCollisionMarkId( const IGeomDB* pGeomDB, int nCollId)
|
||||
int nCollParId = pGeomDB->GetParentId( nCollId) ;
|
||||
string sCollParName = "COLLISION" ;
|
||||
pGeomDB->GetName( nCollParId, sCollParName) ;
|
||||
if ( sCollParName != "COLLISION")
|
||||
// COLLISION per parti generiche di macchina, BASE e MOBILE per fixtures
|
||||
if ( sCollParName != "COLLISION" && sCollParName != "BASE" && sCollParName != "MOBILE")
|
||||
return nCollParId ;
|
||||
else {
|
||||
int nCollGprId = pGeomDB->GetParentId( nCollParId) ;
|
||||
|
||||
Reference in New Issue
Block a user