From 8c1b61b6b8a6066da89caf03e4626b22c96a9b26 Mon Sep 17 00:00:00 2001 From: DarioS Date: Thu, 20 Jul 2023 20:43:33 +0200 Subject: [PATCH] =?UTF-8?q?EgtMachKernel=202.5g2=20:=20-=20prima=20di=20fa?= =?UTF-8?q?re=20il=20calcolo=20degli=20assi=20nell'update=20delle=20lavora?= =?UTF-8?q?zioni=20si=20cancellano=20le=20entit=C3=A0=20di=20tipo=20CLIMB,?= =?UTF-8?q?=20RISE=20e=20HOME=20che=20potrebbero=20dare=20errori=20come=20?= =?UTF-8?q?extra-corse=20e=20che=20in=20ogni=20caso=20verrebbero=20cancell?= =?UTF-8?q?ate=20e=20ricalcolate=20subito=20dopo=20con=20la=20funzione=20A?= =?UTF-8?q?djustStartEndMovements.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chiseling.cpp | 3 +++ Drilling.cpp | 3 +++ EgtMachKernel.rc | Bin 11774 -> 11774 bytes GenMachining.cpp | 3 +++ Milling.cpp | 3 +++ Mortising.cpp | 3 +++ Operation.cpp | 15 +++++++++++++++ Operation.h | 1 + Pocketing.cpp | 3 +++ SawFinishing.cpp | 3 +++ SawRoughing.cpp | 3 +++ Sawing.cpp | 3 +++ SurfFinishing.cpp | 3 +++ WaterJetting.cpp | 3 +++ 14 files changed, 49 insertions(+) diff --git a/Chiseling.cpp b/Chiseling.cpp index 9b2499a..cfa1a6a 100644 --- a/Chiseling.cpp +++ b/Chiseling.cpp @@ -595,6 +595,9 @@ Chiseling::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/Drilling.cpp b/Drilling.cpp index 2ed6e10..862a2da 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -615,6 +615,9 @@ Drilling::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 19ed852938d01be548bdfa04a69601dd23370867..dff3343204dae17e12a287441302312925d3e6c3 100644 GIT binary patch delta 97 zcmewt{V#gMFE&P_&A-`fnHh~HKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmU8!BZvS1 delta 97 zcmewt{V#gMFE&QQ&A-`fnHdcyKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmU3rBY*$^ diff --git a/GenMachining.cpp b/GenMachining.cpp index 7a8f737..1d0b29e 100644 --- a/GenMachining.cpp +++ b/GenMachining.cpp @@ -636,6 +636,9 @@ GenMachining::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/Milling.cpp b/Milling.cpp index cbd3989..becae00 100644 --- a/Milling.cpp +++ b/Milling.cpp @@ -845,6 +845,9 @@ Milling::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/Mortising.cpp b/Mortising.cpp index aaeb17c..1a8de01 100644 --- a/Mortising.cpp +++ b/Mortising.cpp @@ -634,6 +634,9 @@ Mortising::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/Operation.cpp b/Operation.cpp index 50cec7e..0a1eb23 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -2894,6 +2894,21 @@ Operation::RemoveHome( void) return true ; } +//---------------------------------------------------------------------------- +bool +Operation::RemoveClimbRiseHome( void) +{ + // elimino le entità CLIMB, RISE e HOME delle diverse path dell'operazione + int nClId = m_pGeomDB->GetFirstNameInGroup( m_nOwnerId, MCH_CL) ; + int nClPathId = m_pGeomDB->GetFirstGroupInGroup( nClId) ; + while ( nClPathId != GDB_ID_NULL) { + RemoveClimb( nClPathId) ; + RemoveRise( nClPathId) ; + nClPathId = m_pGeomDB->GetNextGroup( nClPathId) ; + } + return ( nClId != GDB_ID_NULL) ; +} + //---------------------------------------------------------------------------- bool Operation::CalcDeltaZForHeadRotation( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEnd, double& dDeltaZ) const diff --git a/Operation.h b/Operation.h index 25a2efc..b98a570 100644 --- a/Operation.h +++ b/Operation.h @@ -135,6 +135,7 @@ class Operation : public IUserObj bool AddSpecialRise( const DBLVECTOR& vAxVal, bool bOk = true, int nClPathId = GDB_ID_NULL, int nFlag = 0) ; bool RemoveRise( int nClPathId = GDB_ID_NULL) ; bool AddHome( void) ; + bool RemoveClimbRiseHome( void) ; bool CalcDeltaZForHeadRotation( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEnd, double& dDeltaZ) const ; bool GetExtraZ( const DBLVECTOR& vAx1, const Vector3d& vtTool1, const DBLVECTOR& vAx2, const Vector3d& vtTool2, diff --git a/Pocketing.cpp b/Pocketing.cpp index c4e10ef..929ae0a 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -726,6 +726,9 @@ Pocketing::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/SawFinishing.cpp b/SawFinishing.cpp index f107165..926f96e 100644 --- a/SawFinishing.cpp +++ b/SawFinishing.cpp @@ -607,6 +607,9 @@ SawFinishing::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/SawRoughing.cpp b/SawRoughing.cpp index 03ea200..6acc7ab 100644 --- a/SawRoughing.cpp +++ b/SawRoughing.cpp @@ -571,6 +571,9 @@ SawRoughing::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/Sawing.cpp b/Sawing.cpp index 3331bb6..976a1e3 100644 --- a/Sawing.cpp +++ b/Sawing.cpp @@ -742,6 +742,9 @@ Sawing::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/SurfFinishing.cpp b/SurfFinishing.cpp index f750af5..21ee6f3 100644 --- a/SurfFinishing.cpp +++ b/SurfFinishing.cpp @@ -606,6 +606,9 @@ SurfFinishing::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ; diff --git a/WaterJetting.cpp b/WaterJetting.cpp index 6cb4e90..cde1c3b 100644 --- a/WaterJetting.cpp +++ b/WaterJetting.cpp @@ -740,6 +740,9 @@ WaterJetting::Update( bool bPostApply) return true ; } + // elimino le entità CLIMB, RISE e HOME della lavorazione, potrebbero falsare i calcoli degli assi (in ogni casi vengono riaggiunte dopo) + RemoveClimbRiseHome() ; + // imposto eventuale asse bloccato da lavorazione SetBlockedRotAxis( m_Params.m_sBlockedAxis) ;