From cd55865151b42833b86d667a9b67a75744e98bff Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 14 May 2026 18:44:25 +0200 Subject: [PATCH] =?UTF-8?q?EgtMachKernel=20:=20-=20corretta=20gestione=20a?= =?UTF-8?q?ssi=20rotanti=20bloccati=20(ora=20non=20pi=C3=B9=20ammessi=20ev?= =?UTF-8?q?entuali=20360deg=20di=20offset)=20-=20corretto=20default=20di?= =?UTF-8?q?=20cono=20per=20direzione=20singolare=20(sempre=200.01=20deg).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FiveAxisMilling.cpp | 2 +- Operation.cpp | 2 ++ Operation.h | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/FiveAxisMilling.cpp b/FiveAxisMilling.cpp index 077d21e..543b4c9 100644 --- a/FiveAxisMilling.cpp +++ b/FiveAxisMilling.cpp @@ -730,7 +730,7 @@ FiveAxisMilling::Update( bool bPostApply) string sHint = ExtractHint( m_Params.m_sUserNotes) ; if ( ! m_Params.m_sInitAngs.empty()) sHint = m_Params.m_sInitAngs ; - double dSingConeAng = 0.1 ; + double dSingConeAng = SING_CONE_ANG_DFLT ; GetValInNotes( m_Params.m_sUserNotes, UN_SINGCONEANG, dSingConeAng) ; if ( ! CalculateAxesValues( sHint, false, dSingConeAng)) { string sInfo = m_pMchMgr->GetOutstrokeInfo() ; diff --git a/Operation.cpp b/Operation.cpp index b9d5bbe..62f01f4 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -2380,6 +2380,8 @@ Operation::CalculateMcentRotAxesValues( bool bFirst, const Vector3d& vtTool, con if ( bFirst) { // porto gli angoli ai valori più vicini ai precedenti con offset di uno o più giri for ( int i = 0 ; i < ssize( vAng1) ; ++ i) { + if ( pMachine->IsKinematicRotAxisBlocked( i)) + continue ; pMachine->GetNearestAngleInStroke( i, vAxRotPrec[i], vAng1[i]) ; if ( abs( vAng1[i] - vAxRotPrec[i]) > dAngDeltaMinForHome) pMachine->GetNearestAngleInStroke( i, vAxRotHome[i], vAng1[i]) ; diff --git a/Operation.h b/Operation.h index eb3aa8d..74b803e 100644 --- a/Operation.h +++ b/Operation.h @@ -181,8 +181,8 @@ class Operation : public IUserObj std::string ExtractInfo( const std::string& sNotes, const std::string& sKey) const ; std::string ExtractHint( const std::string& sNotes) const ; bool SetBlockedRotAxis( const std::string& sBlockedAxis, bool bToolSetOk = false) const ; - bool CalculateAxesValues( const std::string& sHint, bool bSolChExact = false, double dSingConeAng = 0) ; - bool CalculateDoubleAxesValues( const std::string& sHint, bool bSolChExact = false, double dSingConeAng = 0) ; + bool CalculateAxesValues( const std::string& sHint, bool bSolChExact = false, double dSingConeAng = SING_CONE_ANG_DFLT) ; + bool CalculateDoubleAxesValues( const std::string& sHint, bool bSolChExact = false, double dSingConeAng = SING_CONE_ANG_DFLT) ; bool AdjustStartEndMovements( bool bVerifyPreviousLink = true) ; bool RemoveClimbRiseHome( bool bMain = true) ; double GetDeltaSafeZ( const Vector3d& vtTool) const ;