EgtMachKernel :

- aggiunta gestione archi su piani diversi da XY
- disposizione rimette sempre anche i sottopezzi al loro posto
- aggiunti attacchi e uscite a fresature
- aggiunta prima versione calcolo collegamenti tra lavorazioni evitando collisioni
- modifiche a simulazione per tavole mobili con sottopezzi e pezzi.
This commit is contained in:
Dario Sassi
2016-05-30 08:55:15 +00:00
parent a53dfcd676
commit 3cd21182d3
16 changed files with 1189 additions and 289 deletions
+41 -2
View File
@@ -40,7 +40,10 @@ static std::string CAM_ACEN = "ACen" ;
static std::string CAM_AXMC = "AxMC" ;
static std::string CAM_AXMR = "AxMR" ;
static std::string CAM_AXAC = "AxAC" ;
static int CAM_TOTPARAM =CAM_PARAM_V2 ;
static int CAM_PARAM_V3 = 18 ;
static std::string CAM_NDIR = "NDir" ;
static std::string CAM_AXND = "AxND" ;
static int CAM_TOTPARAM =CAM_PARAM_V3 ;
//----------------------------------------------------------------------------
USEROBJ_REGISTER( "EMkCamData", CamData) ;
@@ -71,6 +74,7 @@ CamData::Clone( void) const
pCam->m_ptEnd = m_ptEnd ;
pCam->m_ptCen = m_ptCen ;
pCam->m_dAngCen = m_dAngCen ;
pCam->m_vtN = m_vtN ;
pCam->m_dFeed = m_dFeed ;
pCam->m_nFlag = m_nFlag ;
pCam->m_nAxesStatus = m_nAxesStatus ;
@@ -79,6 +83,7 @@ CamData::Clone( void) const
pCam->m_ptMachCen = m_ptMachCen ;
pCam->m_dMachRad = m_dMachRad ;
pCam->m_dMachAngCen = m_dMachAngCen ;
pCam->m_vtMachN = m_vtMachN ;
}
catch( ...) {
delete pCam ;
@@ -102,6 +107,7 @@ CamData::Dump( string& sOut, bool bMM, const char* szNewLine) const
sOut += CAM_PBAS + "=" + ToString( m_ptEnd) + szNewLine ;
sOut += CAM_PCEN + "=" + ToString( m_ptCen) + szNewLine ;
sOut += CAM_ACEN + "=" + ToString( m_dAngCen) + szNewLine ;
sOut += CAM_NDIR + "=" + ToString( m_vtN) + szNewLine ;
sOut += CAM_FEED + "=" + ToString( m_dFeed) + szNewLine ;
sOut += CAM_FLAG + "=" + ToString( m_nFlag) + szNewLine ;
sOut += CAM_AXSTS + "=" + ToString( m_nAxesStatus) + szNewLine ;
@@ -110,6 +116,7 @@ CamData::Dump( string& sOut, bool bMM, const char* szNewLine) const
sOut += CAM_AXMC + "=" + ToString( m_ptMachCen) + szNewLine ;
sOut += CAM_AXMR + "=" + ToString( m_dMachRad) + szNewLine ;
sOut += CAM_AXAC + "=" + ToString( m_dMachAngCen) + szNewLine ;
sOut += CAM_AXND + "=" + ToString( m_vtMachN) + szNewLine ;
return true ;
}
@@ -161,6 +168,9 @@ CamData::Save( STRVECTOR& vString) const
vString[++k] = CAM_AXMC + "=" + ToString( m_ptMachCen) ;
vString[++k] = CAM_AXMR + "=" + ToString( m_dMachRad) ;
vString[++k] = CAM_AXAC + "=" + ToString( m_dMachAngCen) ;
// parametri aggiunti V3
vString[++k] = CAM_NDIR + "=" + ToString( m_vtN) ;
vString[++k] = CAM_AXND + "=" + ToString( m_vtMachN) ;
}
catch( ...) {
return false ;
@@ -203,7 +213,16 @@ CamData::Load( const STRVECTOR& vString, int nBaseGdbId)
m_ptMachCen = ORIG ;
m_dMachRad = 0 ;
}
// parametri aggiunti V3
if ( int( vString.size()) >= CAM_PARAM_V3) {
if ( ! GetVal( vString[++k], CAM_NDIR, m_vtN) ||
! GetVal( vString[++k], CAM_AXND, m_vtMachN))
return false ;
}
else {
m_vtN = Z_AX ;
m_vtMachN = Z_AX ;
}
return true ;
}
@@ -527,6 +546,16 @@ CamData::SetAngCen( double dAngCen)
ResetObjGraphics() ;
return true ;
}
//----------------------------------------------------------------------------
bool
CamData::SetNormDir( const Vector3d& vtDir)
{
m_vtN = vtDir ;
ResetObjGraphics() ;
return true ;
}
//----------------------------------------------------------------------------
bool
CamData::SetFeed( double dFeed)
@@ -593,6 +622,16 @@ CamData::SetAxesAngCen( double dAngCen)
return true ;
}
//----------------------------------------------------------------------------
bool
CamData::SetAxesNormDir( const Vector3d& vtDir)
{
if ( ! IsArc())
return false ;
m_vtMachN = vtDir ;
return true ;
}
//----------------------------------------------------------------------------
void
CamData::ResetObjGraphics( void)