From 5a5b48326f1d8f249f79cb082903782cec8cb111 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 15 Jan 2024 17:21:54 +0100 Subject: [PATCH] =?UTF-8?q?EgtMachKernel=20:=20-=20in=20foratura=20con=20t?= =?UTF-8?q?esta=20multiuscite=20senza=20assi=20rotanti=20tolta=20necessit?= =?UTF-8?q?=C3=A0=20di=20presenza=20Asse=20Ausiliario.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Drilling.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Drilling.cpp b/Drilling.cpp index 88c016f..5570995 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -823,6 +823,8 @@ Drilling::MultiHeadDrilling( int nExitCnt, const SELVECTOR& vId, int nClId, TABM Point3d ptExit ; m_pMchMgr->GetCurrMachine()->GetHeadExitPosDirAux( sHead, nMainToolInd + 1, ptExit, vtTool, vtAux) ; vTools[nMainToolInd].ptToolTip = ptExit - vtTool * vTools[nMainToolInd].pTool->m_dLen ; + if ( vtAux.IsSmall() && m_pMchMgr->GetCurrMachine()->GetCurrRotAxes() == 0) + vtAux = FromUprightOrtho( vtTool) ; if ( vtTool.IsSmall() || vtAux.IsSmall()) { m_pMchMgr->SetLastError( 2117, "Error in Drilling : incorrect multi drilling head") ; return false ; @@ -1066,6 +1068,8 @@ Drilling::CalcMask( VECTORHOLE& vHoles, const VECTORTOOL& vTools, int nIndMT, co // nuova configurazione del versore A ottenuta if ( ! m_pMchMgr->GetCalcAuxDirFromAngles( vAng1, vtAnew)) continue ; + if ( vtAnew.IsSmall() && m_pMchMgr->GetCurrMachine()->GetCurrRotAxes() == 0) + vtAnew = vtAux ; // creo un nuovo sistema di riferimento centrato nel Tool principale Frame3d frMT ;