diff --git a/CamData.cpp b/CamData.cpp index 65a8eff..1c42a48 100644 --- a/CamData.cpp +++ b/CamData.cpp @@ -473,6 +473,8 @@ CamData::Mirror( const Point3d& ptOn, const Vector3d& vtNorm) if ( ! m_ptCen.Mirror( ptOn, vtNorm)) return false ; m_dAngCen = - m_dAngCen ; + if ( ! m_vtN.Mirror( vtNorm)) + return false ; if ( ! m_vtTool.Mirror( vtNorm)) return false ; if ( ! m_vtCorr.Mirror( vtNorm)) diff --git a/Operation.cpp b/Operation.cpp index d4f17fd..12a79bb 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -1917,6 +1917,7 @@ Operation::CalculateAxesValues( const string& sHint, bool bSolChExact, double dS // calcolo il valore degli assi macchina di tutti i movimenti bool bOk = true ; if ( pMch->GetCurrKinematicChainType() == KIN_CHAIN_MCENT) { + m_pGeomDB->SetInfo( nClId, KEY_KINTYPE, KIN_CHAIN_MCENT) ; int nClPathId = m_pGeomDB->GetFirstGroupInGroup( nClId) ; while ( nClPathId != GDB_ID_NULL) { if ( ! CalculateClPathMcentAxesValues( nClPathId, dAngDeltaMinForHome, vAxRotHome, vAxRotPrec)) @@ -1925,6 +1926,7 @@ Operation::CalculateAxesValues( const string& sHint, bool bSolChExact, double dS } } else if ( pMch->GetCurrKinematicChainType() == KIN_CHAIN_ROBOT) { + m_pGeomDB->SetInfo( nClId, KEY_KINTYPE, KIN_CHAIN_ROBOT) ; int nClPathId = m_pGeomDB->GetFirstGroupInGroup( nClId) ; while ( nClPathId != GDB_ID_NULL) { if ( ! CalculateClPathRobotAxesValues( nClPathId, dAngDeltaMinForHome, vAxRotHome, vAxRotPrec)) @@ -1932,8 +1934,10 @@ Operation::CalculateAxesValues( const string& sHint, bool bSolChExact, double dS nClPathId = m_pGeomDB->GetNextGroup( nClPathId) ; } } - else + else { + m_pGeomDB->SetInfo( nClId, KEY_KINTYPE, KIN_CHAIN_NONE) ; bOk = false ; + } return bOk ; }