EgtExchange 1.6x3 :
- in ImportCnc aggiunta opzione per saltare movimenti in Zero Macchina.
This commit is contained in:
+28
-10
@@ -71,6 +71,9 @@ ImportCnc::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup, int nFlag)
|
||||
return false ;
|
||||
}
|
||||
|
||||
// imposto le opzioni di importazione
|
||||
m_nFlag = nFlag ;
|
||||
|
||||
// inizializzo lo scanner
|
||||
Scanner TheScanner ;
|
||||
if ( ! TheScanner.Init( sFile, "")) {
|
||||
@@ -91,6 +94,7 @@ ImportCnc::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup, int nFlag)
|
||||
m_nArcType = NO_ARCTYPE ;
|
||||
m_nComp = 0 ;
|
||||
m_nCompSide = NO_COMP ;
|
||||
m_ptHome = ORIG ;
|
||||
m_ptLast = ORIG ;
|
||||
m_ptNext = ORIG ;
|
||||
m_ptCen = ORIG ;
|
||||
@@ -110,9 +114,9 @@ ImportCnc::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup, int nFlag)
|
||||
}
|
||||
}
|
||||
|
||||
// se importazione riuscita e richiesta elaborazione finale
|
||||
if ( bOk && nFlag != EICFLAG_NONE)
|
||||
bOk = PostProcess( nFlag) ;
|
||||
// se importazione riuscita eseguo elaborazione finale
|
||||
if ( bOk)
|
||||
bOk = PostProcess() ;
|
||||
|
||||
return bOk ;
|
||||
}
|
||||
@@ -212,7 +216,8 @@ ImportCnc::ParseRemark( const string& sLine)
|
||||
if ( iFrom != string::npos) {
|
||||
Point3d ptHome ;
|
||||
if ( FromString( sLine.substr( iFrom + 5), ptHome)) {
|
||||
m_ptLast = ptHome ;
|
||||
m_ptHome = ptHome ;
|
||||
m_ptLast = m_ptHome ;
|
||||
m_ptNext = m_ptLast ;
|
||||
}
|
||||
return true ;
|
||||
@@ -325,7 +330,10 @@ ImportCnc::ParseX( const string& sToken)
|
||||
m_vtOffs.x = dVal ;
|
||||
break ;
|
||||
default :
|
||||
m_ptNext.x = ( m_bAbsCoord ? m_vtOffs.x + dVal : m_ptLast.x + dVal) ;
|
||||
if ( m_bZeroMach)
|
||||
m_ptNext.x = m_ptHome.x + dVal ;
|
||||
else
|
||||
m_ptNext.x = ( m_bAbsCoord ? m_vtOffs.x + dVal : m_ptLast.x + dVal) ;
|
||||
m_bToMove = true ;
|
||||
break ;
|
||||
}
|
||||
@@ -348,7 +356,10 @@ ImportCnc::ParseY( const string& sToken)
|
||||
m_vtOffs.y = dVal ;
|
||||
break ;
|
||||
default :
|
||||
m_ptNext.y = ( m_bAbsCoord ? m_vtOffs.y + dVal : m_ptLast.y + dVal) ;
|
||||
if ( m_bZeroMach)
|
||||
m_ptNext.y = m_ptHome.y + dVal ;
|
||||
else
|
||||
m_ptNext.y = ( m_bAbsCoord ? m_vtOffs.y + dVal : m_ptLast.y + dVal) ;
|
||||
m_bToMove = true ;
|
||||
break ;
|
||||
}
|
||||
@@ -371,7 +382,10 @@ ImportCnc::ParseZ( const string& sToken)
|
||||
m_vtOffs.z = dVal ;
|
||||
break ;
|
||||
default :
|
||||
m_ptNext.z = ( m_bAbsCoord ? m_vtOffs.z + dVal : m_ptLast.z + dVal) ;
|
||||
if ( m_bZeroMach)
|
||||
m_ptNext.z = m_ptHome.z + dVal ;
|
||||
else
|
||||
m_ptNext.z = ( m_bAbsCoord ? m_vtOffs.z + dVal : m_ptLast.z + dVal) ;
|
||||
m_bToMove = true ;
|
||||
break ;
|
||||
}
|
||||
@@ -541,6 +555,10 @@ ImportCnc::ExecSetIPL( void)
|
||||
bool
|
||||
ImportCnc::ExecMovement( void)
|
||||
{
|
||||
// se richiesto di ignorare i movimenti in Zero Macchina
|
||||
if ( ( m_nFlag & EICFLAG_SKIP_ZEROMACH) != 0 && m_bZeroMach)
|
||||
return true ;
|
||||
// eseguo movimento
|
||||
switch ( m_nMoveType) {
|
||||
case RAPID :
|
||||
return AddLine( L_RAPID) ;
|
||||
@@ -822,10 +840,10 @@ ImportCnc::GetToolGroup( void)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
ImportCnc::PostProcess( int nFlag)
|
||||
ImportCnc::PostProcess( void)
|
||||
{
|
||||
// se richiesto concatenamento dei percorsi
|
||||
if ( ( nFlag & EICFLAG_CHAIN) != 0) {
|
||||
if ( ( m_nFlag & EICFLAG_CHAIN) != 0) {
|
||||
// gestore di curva composita
|
||||
PtrOwner<ICurveComposite> pCompo ;
|
||||
// ciclo sui gruppi
|
||||
@@ -899,7 +917,7 @@ ImportCnc::PostProcess( int nFlag)
|
||||
}
|
||||
|
||||
// se richiesta eliminazione dei movimenti in rapido
|
||||
if ( ( nFlag & EICFLAG_SKIP_RAPID) != 0) {
|
||||
if ( ( m_nFlag & EICFLAG_SKIP_RAPID) != 0) {
|
||||
// ciclo sui gruppi
|
||||
int nGroupId = m_nFirstGroup ;
|
||||
while ( nGroupId != GDB_ID_NULL) {
|
||||
|
||||
Reference in New Issue
Block a user