diff --git a/Operation.cpp b/Operation.cpp index d5e2437..8a3e2e5 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -2138,9 +2138,6 @@ Operation::AddRise( DBLVECTOR& vAxVal, double dDelta, int nClPathId, bool bZHome { if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr) return false ; - // se risalita praticamente nulla, esco con successo - if ( abs( dDelta) < 10 * EPS_SMALL) - return true ; // recupero gruppo per geometria di lavorazione (Cutter Location) int nClId = m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_CL) ; if ( nClId == GDB_ID_NULL) @@ -2161,9 +2158,15 @@ Operation::AddRise( DBLVECTOR& vAxVal, double dDelta, int nClPathId, bool bZHome if ( nEntId == GDB_ID_NULL) return false ; // ne recupero i dati Cam - CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ; + const CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ; if ( pCamData == nullptr) return false ; + // se risalita praticamente nulla, esco con successo + if ( abs( dDelta) < 10 * EPS_SMALL) { + // recupero i valori degli assi + vAxVal = pCamData->GetAxesVal() ; + return ( vAxVal.size() >= 3) ; + } // creo oggetto punto per DB geometrico PtrOwner pGP( CreateGeoPoint3d()) ; if ( IsNull( pGP))