PlotterHMI/datafile/dxf/dxflib/ReadTIIP.h

310 lines
7.5 KiB
C
Raw Normal View History

#if !defined (READTIIP_H)
#define READTIIP_H
#pragma once
#include "PDSMath/StdAfx.h"
#include <iostream>
//#include <afxtempl.h>
#include <QObject>
#include "GroupCode.h"
//TIIP<49>Ŀ<EFBFBD><C4BF><EFBFBD>Ϣ
class CTPBlockInfor : public QObject
{
public:
//<2F>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString m_strBlockName; //Ϊ<>˼<EFBFBD>¼BLOCK<43>Ŀ<EFBFBD><C4BF><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>)
CString m_strPatternName; //ֽ<><D6BD><EFBFBD><EFBFBD>
CString m_strSizeName; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CStringArray m_arrComment; //ע<><D7A2>COMMENT/ANNOTATION
CStringArray m_arrMaterial; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Fabric
CUIntArray m_arrQuantity; //<2F><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> Quantity
CCurveNotchInforList m_Layer1; //<2F><>1<EFBFBD><20><><EFBFBD><EFBFBD>
CCurveNotchInforList m_Layer2; //<2F><>2<EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CCurveNotchInforList m_Layer5; //<2F><>5<EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CCurveNotchInforList m_Layer6; //<2F><>6<EFBFBD><36> <20>ڲ<EFBFBD><DAB2>ü<EFBFBD><C3BC><EFBFBD>
CCurveNotchInfor m_CurveLayer7; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CCurveNotchInfor m_CurveLayer4; //<2F>Գ<EFBFBD><D4B3><EFBFBD>
CCurveNotchInfor m_CurveLayer3; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CTextDataList m_listTextData; //T<><54><EFBFBD><EFBFBD>
CDrillInforList m_listDrillInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
public:
CTPBlockInfor(void);
CTPBlockInfor(CTPBlockInfor& a);
~CTPBlockInfor(void);
void operator=(CTPBlockInfor& a);
void Initial(void);
//λ<><CEBB>ƫ<EFBFBD>ƺͷ<C6BA><CDB7><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//dOffsetX/dOffsetY ƫ<><C6AB><EFBFBD><EFBFBD>
//dSin/dCos <20><>ת<EFBFBD>Ƕȣ<C7B6> <20><>ת<EFBFBD><D7AA>ΪCPoint(dOffsetX, dOffsetY), ˮƽΪ<C6BD><CEAA><EFBFBD><EFBFBD>
//dScaleX/dScaleY <20>Ŵ<EFBFBD><C5B4><EFBFBD>С 20220408 XQ
//˵<><CBB5><EFBFBD><EFBFBD>
// ƫ<><C6AB>-><3E><>ת-><3E>Ŵ<EFBFBD><C5B4><EFBFBD>С
void SetRotateOffset(double dOffsetX, double dOffsetY, double dSin, double dCos, double dScaleX, double dScaleY);
private:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CopyData(CTPBlockInfor &a);
};
class CTPBlockInforList : public CList<CTPBlockInfor,CTPBlockInfor&>
{
public:
CTPBlockInforList& operator=(CTPBlockInforList& rhs); // <20><>ֵ
//<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
// iIndex <20><><EFBFBD><EFBFBD>ֵ,<2C><>0<EFBFBD><30>ʼ,<2C><><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>
//<2F><><EFBFBD><EFBFBD>ֵ:
CTPBlockInfor& operator[](int iIndex);
//λ<><CEBB>ƫ<EFBFBD><C6AB>,<2C><>ת<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//dOffsetX/dOffsetY ƫ<><C6AB><EFBFBD><EFBFBD>
//dSin/dCos <20><>ת<EFBFBD>Ƕȣ<C7B6> <20><>ת<EFBFBD><D7AA>ΪCPoint(dOffsetX, dOffsetY), ˮƽΪ<C6BD><CEAA><EFBFBD><EFBFBD>
//dScaleX/dScaleY <20>Ŵ<EFBFBD><C5B4><EFBFBD>С 20220408 XQ
//˵<><CBB5><EFBFBD><EFBFBD>
// ƫ<><C6AB>-><3E><>ת-><3E>Ŵ<EFBFBD><C5B4><EFBFBD>С
void SetRotateOffset(double dOffsetX, double dOffsetY, double dSin, double dCos, double dScaleX, double dScaleY);
//<2F><><EFBFBD>÷Ŵ<C3B7>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//dScale <20>Ŵ<EFBFBD><C5B4><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
void SetScale(double dScale);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strOldSizeName <20>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD>
// strNewSizeName <20>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>
void ReplaceSizeName(CString strOldSizeName, CString strNewSizeName);
//<2F>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶĺ<C6B5><C4BA>Ͷ<EFBFBD>Ӧ<EFBFBD><D3A6>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strSizeName <20><>Ҫ<EFBFBD><D2AA><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listBlockInfor <20>ҵ<EFBFBD><D2B5><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>б<EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// =true <20>ҵ<EFBFBD><D2B5><EFBFBD>=false û<><C3BB><EFBFBD>ҵ<EFBFBD>
BOOL FindSizeName(CString strSizeName, CTPBlockInforList &listBlockInfor);
};
//Entities<65><73>Ϣ
class CTPEntitiesInfor : public CObject
{
public:
CString m_strStyleName; //Style Name:<string>
CString m_strSampleSize; //<2F><><EFBFBD><EFBFBD>Sample Size:<string>
int m_iUnit; //= CONST_MM METRIC<49><43>mm<6D><6D>= CONST_INCH ENGLISH : Ӣ<>磻 Ĭ<><C4AC>mm
CString m_strAuthor; //<2F><><EFBFBD><EFBFBD>Author:<Vendor name>;<application>;<release #<23><>
CString m_strVersion; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>
CInsertDataList m_listInsertData;
public:
CTPEntitiesInfor(void);
CTPEntitiesInfor(CTPEntitiesInfor& a);
~CTPEntitiesInfor(void);
void operator=(CTPEntitiesInfor& a);
void Initial(void);
};
class CTIIPFileInfor : public CObject
{
public:
// ע<>
//m_listBlockInfor<6F><72> m_listSameSizeBlockInfor<6F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>һʹ<D2BB><CAB9>
//<2F><>ʼֵΪdxf<78>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>Ϣ
CString m_strSampleSize; //<2F><><EFBFBD><EFBFBD>, <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ըñ<D4B8><C3B1><EFBFBD>Ϊ׼
CList<CString, CString> m_listAllSize; //<2F><><EFBFBD>к<EFBFBD><D0BA>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD> <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD>Ըñ<D4B8><C3B1><EFBFBD>Ϊ׼
CTPBlockInforList m_listBlockInfor; //<2F><>Block<63><6B><EFBFBD><EFBFBD>
CTPEntitiesInfor m_EntitiesInfor; //<2F><>Entities<65><73><EFBFBD><EFBFBD>
public:
CTIIPFileInfor(void);
CTIIPFileInfor(CTIIPFileInfor& a);
~CTIIPFileInfor(void);
void operator=(CTIIPFileInfor& a);
void Initial(void);
};
//<2F><><EFBFBD>ļ<EFBFBD>
/*
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ǽ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
*/
class CReadTIIPFile: public CObject
{
public:
CTIIPFileInfor m_FileInfo; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
private:
FILE *m_pDXFFile; //<2F>ļ<EFBFBD>ָ<EFBFBD><D6B8>
BOOL m_bReadWindowText; //=ture <20><>Window/Dos<6F>ı<EFBFBD><C4B1>ļ<EFBFBD><C4BC><EFBFBD>=false <20><>Unix/Linux<75><78><EFBFBD>ı<EFBFBD><C4B1>ļ<EFBFBD>
CString m_strFileName; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ͬʱҲ<CAB1><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CString m_strValue1, m_strValue2; //<2F><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BOOL m_bOnlyReadBaseSize; //true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BOOL m_bPattern; //=true <20><>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>=false <20><EFBFBD><E1B9B9>
public:
CReadTIIPFile(void);
~CReadTIIPFile(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
// strFilePath <20>ļ<EFBFBD>·<EFBFBD><C2B7>
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM/AAMA<4D>ļ<EFBFBD>
int ReadTIIPFile(CString strFilePath);
protected:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//[<5B><><EFBFBD><EFBFBD>] fFile <20>ļ<EFBFBD>
//[<5B><><EFBFBD><EFBFBD>] strString1/strString2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void ReadGroupString(FILE *fFile, CString &strString1, CString &strString2);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM/AAMA<4D>ļ<EFBFBD>
int ReadTIIPFile();
//<2F><>BLOCK<43><4B>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BlockInfor <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ֵΪ0ʱBlockInfor<6F><72><EFBFBD><EFBFBD>Ч
int ReadBlock(CTPBlockInfor &BlockInfor);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>999<39><39><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strValue <20><><EFBFBD><EFBFBD>999<39><39><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iValue1 <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ֵ ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD>
// iValue2 <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ֵ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iValue3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <20><><EFBFBD><EFBFBD>
// iValue4 <20><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>ֵ <20><><EFBFBD><EFBFBD>ID
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><>strValue<75><65>û<EFBFBD><C3BB><EFBFBD>ĸ<EFBFBD>ֵʱ<D6B5><CAB1>û<EFBFBD>еĵ<D0B5><C4B5><EFBFBD>-1
void Dispose999Value(CString strValue, int &iValue1, int &iValue2, int &iValue3, int &iValue4);
//<2F><>POLYLINE
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// BlockInfor <20><><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ֵΪ0ʱBlockInfor<6F><72><EFBFBD><EFBFBD>Ч
int ReadPolylineData(CTPBlockInfor &BlockInfor);
//<2F><>POLYLINE
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// CurveInfor <20><><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ֵΪ0ʱCurveInfor<6F><72><EFBFBD><EFBFBD>Ч
int ReadPolylineData(CCurveNotchInfor &CurveInfor);
//<2F><>LINE
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// BlockInfor <20><><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ֵΪ0ʱBlockInfor<6F><72><EFBFBD><EFBFBD>Ч
int ReadLineData(CTPBlockInfor &BlockInfor);
//<2F><>LINE
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// CurveInfor ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ֵΪ0ʱCurveInfor<6F><72><EFBFBD><EFBFBD>Ч
int ReadLineData(CCurveNotchInfor &CurveInfor);
//<2F><>TEXT
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// BlockInfor <20><><EFBFBD><EFBFBD>Ϣ
void ReadTEXTData(CTPBlockInfor &BlockInfor);
//<2F><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6>TEXT<58><54>Ϣ
BOOL ReadTEXTData(CTextData &TextData);
//ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// BlockInfor <20><><EFBFBD><EFBFBD>Ϣ
// strInformation ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// =true<75><65>ʾΪֽ<CEAA><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ <20><>=false <20><><EFBFBD><EFBFBD>ΪT<CEAA><54><EFBFBD><EFBFBD>
BOOL PatternInfor(CTPBlockInfor &BlockInfor, CString strInformation);
//<2F><>POINT
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// BlockInfor <20><><EFBFBD><EFBFBD>Ϣ
void ReadPointData(CTPBlockInfor &BlockInfor);
//<2F><>Entities<65><73>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// EntitiesInfor <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD>ֵ:
// = 0 <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
// = 1 <20>ļ<EFBFBD><C4BC>򲻿<EFBFBD>
// = 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<41>ļ<EFBFBD>
// = 3 <20><><EFBFBD><EFBFBD>ASTM<54>ļ<EFBFBD>
int ReadEntities(CTPEntitiesInfor &EntitiesInfor);
//<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// EntitiesInfor <20><><EFBFBD><EFBFBD>Ϣ
// strInformation ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// =true<75><65>ʾΪ<CABE><CEAA>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ <20><>=false <20><><EFBFBD><EFBFBD>
BOOL StyleInfor(CTPEntitiesInfor &EntitiesInfor, CString strInformation);
BOOL ReadInsertInfor(CInsertData &InsertData);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DisposeFileData();
};
#endif