From 2b5aacc160c24afa2dc9ca348e57a204992c5880 Mon Sep 17 00:00:00 2001 From: DarioS Date: Thu, 27 Jul 2023 09:31:59 +0200 Subject: [PATCH] EgtMachKernel 2.5g3 : - corretta fresatura zigzag con attacco con componente in direzione utensile (poteva risultare movimento nullo con conseguente erore) - modificato controllo indeterminazione angoli su primo asse rotante per gestire correttamente macchina Multiax C1522 con rinvio da sotto. --- EgtMachKernel.rc | Bin 11774 -> 11774 bytes MachineCalc.cpp | 4 ++-- Milling.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index dff3343204dae17e12a287441302312925d3e6c3..166cf40998b42ce8922d2564110d7f1ba160fa53 100644 GIT binary patch delta 97 zcmewt{V#gMFE&Qw&A-`fnHh~IKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmUD-Bai?9 delta 97 zcmewt{V#gMFE&P_&A-`fnHh~HKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmU8!BZvS1 diff --git a/MachineCalc.cpp b/MachineCalc.cpp index 6f6b963..8430304 100644 --- a/MachineCalc.cpp +++ b/MachineCalc.cpp @@ -958,8 +958,8 @@ Machine::GetMyAngles( const Vector3d& vtDirT, const Vector3d& vtDirA, vtAx2.Invert() ; // calcolo secondo angolo di rotazione nStat = GetRotationComponent( vtDirHn, dCompTSuAxR1, vtAx1, vtAx2, dAngB1, dAngB2, bDet) ; - // se indeterminato con richiesta direzione ausiliaria esatta, ricalcolo con direzione aux - if ( nStat >= 1 && ! bDet && m_bSolChExact) { + // se indeterminato, provo ricalcolo con direzione aux + if ( nStat >= 1 && ! bDet) { // componente versore ausiliario desiderato su direzione primo asse rotante Vector3d vtSccDir ; if ( GetSccDir( m_nCalcSolCh, vtDirAn, vtSccDir)) { diff --git a/Milling.cpp b/Milling.cpp index ec3e6fd..3e8ede0 100644 --- a/Milling.cpp +++ b/Milling.cpp @@ -2804,7 +2804,7 @@ Milling::AddZigZagMilling( const ICurveComposite* pCompo, const Vector3d& vtTool else { bool bStartFeed = ( bOutStart || m_TParams.m_nType == TT_MILL_POLISHING) ; SetFeed( bStartFeed ? GetStartFeed() : GetTipFeed()) ; - if ( AddLinearMove( ptP1) == GDB_ID_NULL) + if ( ! SameAsCurrPos( ptP1) && AddLinearMove( ptP1) == GDB_ID_NULL) return false ; } }