diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 7c43de3..a8bea52 100644 Binary files a/EgtMachKernel.rc and b/EgtMachKernel.rc differ diff --git a/MachMgrDBTools.cpp b/MachMgrDBTools.cpp index 9d6006c..abd0d94 100644 --- a/MachMgrDBTools.cpp +++ b/MachMgrDBTools.cpp @@ -631,6 +631,8 @@ MachMgr::UpdateStandardToolDraw( const ToolData* pTdata, int nGenCtx, int nToolC pTdata->GetParam( TPA_TOTDIAM, dTotDiam) ; double dDist = 0 ; pTdata->GetParam( TPA_DIST, dDist) ; + double dStemDiam = 0 ; + pTdata->GetParam( TPA_STEMDIAM, dStemDiam) ; double dMaxMat = 0 ; pTdata->GetParam( TPA_MAXMAT, dMaxMat) ; double dCornRad = 0 ; @@ -694,6 +696,7 @@ MachMgr::UpdateStandardToolDraw( const ToolData* pTdata, int nGenCtx, int nToolC bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.LEN", dLen) ; bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.TOTDIAM", dTotDiam) ; bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.DIAM", dDiam) ; + bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.STEMDIAM", dStemDiam) ; bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.MAXMAT", dMaxMat) ; bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.HEIGHT", dThick) ; bOk = bOk && ExeLuaSetGlobNumVar( "TOOL.SIDEANG", dSideAng) ; diff --git a/ToolsMgr.cpp b/ToolsMgr.cpp index 7cd8c6c..006f749 100644 --- a/ToolsMgr.cpp +++ b/ToolsMgr.cpp @@ -694,12 +694,16 @@ ToolsMgr::GetCurrToolMaxDepth( double dSafe, double& dMaxDepth) const GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ; GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam) ; } - // calcolo il massimo affondamento + // calcolo il massimo affondamento per le limitazioni dal portautensili dMaxDepth = m_tdCurrTool.m_dLen - dSafe ; - if ( m_tdCurrTool.m_dDiam > dTHoldDiam) - dMaxDepth -= dTHoldBase ; - else + if ( dTHoldDiam > m_tdCurrTool.m_dDiam + EPS_SMALL) dMaxDepth -= dTHoldLen ; + else + dMaxDepth -= dTHoldBase ; + // recupero l'eventuale diametro gambo utensile (definito se non nullo) + double dStemDiam ; m_tdCurrTool.GetParam( TPA_STEMDIAM, dStemDiam) ; + if ( dStemDiam > m_tdCurrTool.m_dDiam + EPS_SMALL) + dMaxDepth = min( dMaxDepth, m_tdCurrTool.m_dMaxMat) ; return true ; } // se mortasatrice o sega a catena