8c69460cb1
- aggiunto esportatore STL - aggiunto esportatore DXF.
74 lines
2.1 KiB
C++
74 lines
2.1 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2014-2014
|
|
//----------------------------------------------------------------------------
|
|
// File : ImportDxfHeader.cpp Data : 08.06.14 Versione : 1.5f3
|
|
// Contenuto : Implementazione di ImportDxf : gestione header.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 08.06.14 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "ImportDxf.h"
|
|
#include "DxfConst.h"
|
|
#include "DllMain.h"
|
|
#include "/EgtDev/Include/EGnStringUtils.h"
|
|
|
|
using namespace std ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
ImportDxf::ReadHeader( bool& bFileEnd)
|
|
{
|
|
// ciclo di lettura
|
|
bool bOk = true ;
|
|
bool bSectEnd = false ;
|
|
bool bCodePage = false ;
|
|
bFileEnd = false ;
|
|
int nCode = CODE_NULL ;
|
|
do {
|
|
// leggo un Item
|
|
nCode = ReadNextItem() ;
|
|
if ( nCode == CODE_NULL) {
|
|
bFileEnd = true ;
|
|
return false ;
|
|
}
|
|
switch ( nCode) {
|
|
case 0 :
|
|
if ( m_sCurrItem == "SECTION") {
|
|
UngetItem() ;
|
|
bSectEnd = true ;
|
|
}
|
|
else if ( m_sCurrItem == "ENDSEC") {
|
|
bSectEnd = true ;
|
|
}
|
|
else if ( m_sCurrItem == "EOF") {
|
|
bSectEnd = true ;
|
|
bFileEnd = true ;
|
|
}
|
|
break ;
|
|
case 3 :
|
|
if ( bCodePage) {
|
|
string sCodePage = m_sCurrItem ;
|
|
ToUpper( sCodePage) ;
|
|
ReplaceString( sCodePage, "ANSI_", "") ;
|
|
ReplaceString( sCodePage, "DOS", "") ;
|
|
int nVal ;
|
|
if ( FromString( sCodePage, nVal) && nVal >= 111 && nVal <= 28606)
|
|
m_nCodePage = nVal ;
|
|
}
|
|
break ;
|
|
case 9 :
|
|
if ( m_sCurrItem == "$DWGCODEPAGE")
|
|
bCodePage = true ;
|
|
break ;
|
|
}
|
|
} while ( ! bSectEnd) ;
|
|
|
|
return bOk ;
|
|
}
|