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 19ed852..dff3343 100644 Binary files a/EgtMachKernel.rc and b/EgtMachKernel.rc differ 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) ;