EgtMachKernel :

- corretto Double di CamData con arco (non faceva il mirror della normale)
- in CL aggiunto info su tipo di catena cinematica (KINTYPE=0/1/2).
This commit is contained in:
Dario Sassi
2026-04-17 17:30:35 +02:00
parent 614532c2a0
commit e8e757d4bd
2 changed files with 7 additions and 1 deletions
+2
View File
@@ -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))
+5 -1
View File
@@ -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 ;
}