170 lines
3.3 KiB
C
170 lines
3.3 KiB
C
|
#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>Yֵ
|
|||
|
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
|