PlotterHMI/datafile/dxf/dxflib/WriteAutoCAD.h

170 lines
3.3 KiB
C
Raw Normal View History

#if !defined (WRITEAUTOCAD_H)
#define WRITEAUTOCAD_H
#include "WriteDxfFile.h"
class CWriteAutoCAD : public CObject
{
private:
double m_dScale;
CPoint m_ptPatternOffset; //ֽ<><D6BD>ƫ<EFBFBD><C6AB>
CWriteDxfData m_Data;
FILE *m_pDXFFile; //<2F>ļ<EFBFBD>ָ<EFBFBD><D6B8>
int m_iHandleIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL m_bVer15; //=true<75><65><EFBFBD><EFBFBD>R15 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>Spline<6E><65>=false<73><65><EFBFBD><EFBFBD>R12 <20><><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>
public:
CWriteAutoCAD();
~CWriteAutoCAD();
void Initial();
//д<>ļ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strPath; <20>ļ<EFBFBD>ȫ·<C8AB><C2B7>
// Data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// bVer15 true<75><65><EFBFBD><EFBFBD>R15 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>Spline<6E><65>=false<73><65><EFBFBD><EFBFBD>R12 <20><><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:
// =true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>=false·<65><C2B7><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
BOOL WriteFile(CString strPath, CWriteDxfData &DxfData, BOOL bVer15);
private:
//ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ptPoint ֽ<><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// fx, fy <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><58>
void PttnToDP(CPoint ptPoint, float &fx, float &fy);
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
CString GetHandle();
//<2F><><EFBFBD><EFBFBD>HEADER
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile
void WriteHEADER();
void WriteHEADER_12();
void WriteHEADER_15();
//<2F><><EFBFBD><EFBFBD>TABLE
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile
void WriteTABLES();
void WriteTABLES_12();
void WriteTABLES_15();
//<2F><><EFBFBD><EFBFBD>BLOCKS
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WriteBLOCKS();
void WriteBLOCKS_15();
//<2F><><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// PatternData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WriteBLOCK(CPatternData &PatternData);
//<2F><><EFBFBD><EFBFBD>Entities
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WriteENTITIES();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listCurveOfFile <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD>
void WriteCurve(int iLayer, CCurveIDataList &listCurveOfFile);
//<2F><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// CurveData <20><><EFBFBD><EFBFBD>
void WriteArc(int iLayer, CCurveIData &CurveData);
//<2F><><EFBFBD><EFBFBD>Բ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// CurveData <20><><EFBFBD><EFBFBD>
void WriteCircle(int iLayer, CCurveIData &CurveData);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// PointData <20><>
void WritePoint(int iLayer, CPoint ptPoint);
//<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ptHead/ ptTail ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteLine(int iLayer, CPoint ptHead, CPoint ptTail, COLORREF crColor);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// CurveData <20><><EFBFBD><EFBFBD>
void WritePolyline(int iLayer, CCurveIData &CurveData);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// CurveData <20><><EFBFBD><EFBFBD>
void WriteLWPolyline(int iLayer, CCurveIData &CurveData);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// CurveData <20><><EFBFBD><EFBFBD>
void WriteSpline(int iLayer, CCurveIData &CurveData);
//<2F><><EFBFBD><EFBFBD>VERTEX
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ptPoint <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteVertex(int iLayer, CPoint ptPoint);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listTextOfFile <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD>
void WriteTexts(int iLayer, CTextIDataList &listTextOfFile);
//д<>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// pfWrite <20>ļ<EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// TextData <20>ı<EFBFBD>
void WriteText(int iLayer, CTextIData TextData);
//д<>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// TextData <20>ı<EFBFBD>
void WriteMText(int iLayer, CTextIData TextData);
//д<><D0B4><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strInsertName <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// PointData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// dAngle <20>Ƕ<EFBFBD>
void WriteInsert(CString strInsertName, CPoint PointData, double dAngle);
//ת<><D7AA><EFBFBD><EFBFBD>AutoCAD<41><44>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
CString ConvertColor(COLORREF crColor);
void WriteOBJECT();
};
#endif