EgtMachKerenel :
- altri aggiustamenti in finitura superfici per Frame e Tool associato.
This commit is contained in:
+24
-22
@@ -650,28 +650,6 @@ SurfFinishing::MyApply( bool bRecalc, bool bPostApply)
|
||||
else if ( bRecalc)
|
||||
m_pGeomDB->EmptyGroup( nFrameId) ;
|
||||
|
||||
// aggiungo il frame e il versore utensile al suo interno
|
||||
PtrOwner<IGeoFrame3d> pFrGeo( CreateGeoFrame3d()) ;
|
||||
if ( IsNull( pFrGeo) || ! pFrGeo->Set( m_Frame))
|
||||
return false ;
|
||||
int nFrId = m_pGeomDB->AddGeoObj( GDB_ID_NULL, nFrameId, ::Release( pFrGeo)) ;
|
||||
if ( nFrId == GDB_ID_NULL)
|
||||
return false ;
|
||||
m_pGeomDB->SetStatus( nFrId, GDB_ST_ON) ;
|
||||
Vector3d vtSperic = GetToGlob( FromSpherical( 25.0, m_dTheta, m_dPhi), m_Frame) ;
|
||||
PtrOwner<IGeoVector3d> vtToolGeo( CreateGeoVector3d()) ;
|
||||
if ( IsNull( vtToolGeo) || ! vtToolGeo->Set( vtSperic))
|
||||
return false ;
|
||||
vtToolGeo->ChangeBase( m_Frame.Orig()) ;
|
||||
int nToolVtId = m_pGeomDB->AddGeoObj( GDB_ID_NULL, nFrameId, ::Release( vtToolGeo)) ;
|
||||
if ( nToolVtId == GDB_ID_NULL)
|
||||
return false ;
|
||||
m_pGeomDB->SetStatus( nToolVtId, GDB_ST_ON) ;
|
||||
m_pGeomDB->SetMaterial( nToolVtId, FUCHSIA) ;
|
||||
// nel caso di lavorazioni Optimal o Zlevel nascondo tale frame
|
||||
if ( m_Params.m_nSubType == SURFFIN_SUB_Z_CONST || m_Params.m_nSubType == SURFFIN_SUB_OPTIMAL)
|
||||
m_pGeomDB->SetStatus( nToolVtId, GDB_ST_OFF) ;
|
||||
|
||||
// verifico se necessario continuare nell'aggiornamento
|
||||
if ( ! bRecalc && ( m_nStatus == MCH_ST_OK || m_nStatus == MCH_ST_NO_POSTAPPL)) {
|
||||
// confermo i percorsi di lavorazione
|
||||
@@ -687,6 +665,30 @@ SurfFinishing::MyApply( bool bRecalc, bool bPostApply)
|
||||
return true ;
|
||||
}
|
||||
m_nStatus = MCH_ST_TO_VERIFY ;
|
||||
|
||||
// se c'è geometria, aggiungo il frame e il versore utensile al suo interno
|
||||
if ( m_pGeomDB->GetFirstGroupInGroup( nAuxId) != GDB_ID_NULL) {
|
||||
PtrOwner<IGeoFrame3d> pFrGeo( CreateGeoFrame3d()) ;
|
||||
if ( IsNull( pFrGeo) || ! pFrGeo->Set( m_Frame))
|
||||
return false ;
|
||||
int nFrId = m_pGeomDB->AddGeoObj( GDB_ID_NULL, nFrameId, ::Release( pFrGeo)) ;
|
||||
if ( nFrId == GDB_ID_NULL)
|
||||
return false ;
|
||||
m_pGeomDB->SetStatus( nFrId, GDB_ST_ON) ;
|
||||
Vector3d vtSperic = GetToGlob( FromSpherical( 25.0, m_dTheta, m_dPhi), m_Frame) ;
|
||||
PtrOwner<IGeoVector3d> vtToolGeo( CreateGeoVector3d()) ;
|
||||
if ( IsNull( vtToolGeo) || ! vtToolGeo->Set( vtSperic))
|
||||
return false ;
|
||||
vtToolGeo->ChangeBase( m_Frame.Orig()) ;
|
||||
int nToolVtId = m_pGeomDB->AddGeoObj( GDB_ID_NULL, nFrameId, ::Release( vtToolGeo)) ;
|
||||
if ( nToolVtId == GDB_ID_NULL)
|
||||
return false ;
|
||||
m_pGeomDB->SetStatus( nToolVtId, GDB_ST_ON) ;
|
||||
m_pGeomDB->SetMaterial( nToolVtId, FUCHSIA) ;
|
||||
// nel caso di lavorazioni Optimal o Zlevel nascondo tale frame
|
||||
if ( m_Params.m_nSubType == SURFFIN_SUB_Z_CONST || m_Params.m_nSubType == SURFFIN_SUB_OPTIMAL)
|
||||
m_pGeomDB->SetStatus( nToolVtId, GDB_ST_OFF) ;
|
||||
}
|
||||
|
||||
// rendo corrente l'utensile usato nella lavorazione
|
||||
if ( ! m_pMchMgr->SetCalcTool( m_TParams.m_sName, m_TParams.m_sHead, m_TParams.m_nExit)) {
|
||||
|
||||
Reference in New Issue
Block a user