PlotterHMI/datafile/dxf/dxflib/WriteASTM.h

219 lines
5.3 KiB
C
Raw Permalink Normal View History

#if !defined (WRITEASTM_H)
#define WRITEASTM_H
#include "WriteDxfFile.h"
class CWriteASTM : public CObject
{
private:
CWriteDxfData m_Data;
CString m_strFilePath; //<2F>ļ<EFBFBD>·<EFBFBD><C2B7>(ȫ)
//int m_iFileType; // =0 ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룻=1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC>rul<75><6C>=2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB6BC>dxf<78><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rul<75><6C>
int m_iOutputType; // =0 ASTM; =1 AAMA
//BOOL m_bSeamToAssistant; //=true <20><><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=false <20><><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FILE *m_pDXFFile; //<2F>ļ<EFBFBD>ָ<EFBFBD><D6B8>
CPoint m_ptPatternOffset; //ֽ<><D6BD>ƫ<EFBFBD><C6AB>
double m_dScale;
float m_fTextHeight, m_fTextDeltaY; //<2F><><EFBFBD><EFBFBD><EFBFBD>߶ȣ<DFB6><C8A3><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>
public:
CWriteASTM();
~CWriteASTM();
//<2F><><EFBFBD><EFBFBD>AAMA<4D><41>ASTM<54>ļ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// strPath <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ȫ·<C8AB><C2B7><EFBFBD><EFBFBD>
// OutputType =0 ASTM; =1 AAMA
// DxfData <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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, int iOutputType, CWriteDxfData &DxfData);
private:
void Initial();
//ֽ<><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WriteBlockS();
//<2F><><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// pPatternData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// bBaseSize <20><><EFBFBD><EFBFBD>
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WriteBlock(CPatternData *pPatternData, BOOL bBaseSize);
//<2F><><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// pPatternData ֽ<><D6BD><EFBFBD><EFBFBD>Ϣ
// bBaseSize <20><><EFBFBD><EFBFBD>
void WritePatternInfo(CPatternData *pPatternData, BOOL bBaseSize);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listBorder <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// bBorder =true <20><><EFBFBD>ߣ<EFBFBD>=false <20><><EFBFBD><EFBFBD>
// listNotch <20><><EFBFBD>ڣ<EFBFBD> <20>ڸñ<DAB8><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵ļ<CBB5><C4BC>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
void WriteBorder(CCurveIDataList &listBorder, BOOL bBorder, CNotchIDataList &listNotch);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listAssistantCurve <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteAssistantCurve(CCurveIDataList &listAssistantCurve);
//<2F><><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// CurveData Բ<><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iLayer <20><>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// =true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=false <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL WriteArc(FILE *pFile,CCurveIData CurveData, int iLayer);
//<2F><><EFBFBD><EFBFBD>Բ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// CurveData Բ<><D4B2><EFBFBD><EFBFBD>
// iLayer <20><>
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
// =true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=false <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL WriteCircle(FILE *pFile,CCurveIData CurveData, int iLayer);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// listDrill <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteDrill(CDrillIDataList &listDrill);
//20190527 XQ <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
// listText<78>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteText(CTextIDataList &listText);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GrainLine <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteGrainLine(CCurveIData GrainLine);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// GrainLine <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>߰<EFBFBD><DFB0>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<D0B5><E3A3AC><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD>
void WriteGradeLine(CCurveIData GrainLine);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// SymmetryLine <20>Գ<EFBFBD><D4B3><EFBFBD>
void WriteSymmetry(CCurveIData SymmetryLine);
//дPOLYLINE
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// listPoint <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
// bClose =true <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>յ<EFBFBD> =false <20><><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>ڵ<EFBFBD>
void WritePolyLine(FILE *pFile,int iLayer, CPointIDataList &listPointData, BOOL bClose);
//дPOLYLINE
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// listPoint <20><><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
// bClose =true <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>յ<EFBFBD> =false <20><><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>ڵ<EFBFBD>
void WritePolyLine(FILE *pFile,int iLayer, CList<CPoint, CPoint> &listPoint, BOOL bClose);
//дLINE
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// ptPointS, ptPointE ֱ<>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
void WriteLine(FILE *pFile,int iLayer, CPointIData PointIDataS, CPointIData PointIDataE);
//д<><D0B4><EFBFBD>߶ζ<DFB6><CEB6><EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// ptPoint <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
void WriteVertex(FILE *pFile, int iLayer, CPoint ptPoint);
//д<><D0B4>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// ptPoint <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WritePoint(FILE *pFile, int iLayer, CPoint ptPoint);
//д<><D0B4><EFBFBD><EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// NotchData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>
// <20>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>ˮƽ<CBAE>ߵļн<C4BC>
void WriteNotch(FILE *pFile, CNotchIData NotchData);
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// ptGrade <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iGradeIndex <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteGradeText(FILE *pFile, int iLayer, CPoint ptGrade, int iGradeIndex);
//д<>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// pFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// TextData <20>ı<EFBFBD>
void WriteText(FILE *pFile, int iLayer, CTextIData TextData);
//<2F><><EFBFBD><EFBFBD>Entities
//˵<><CBB5>
//<2F>ļ<EFBFBD>m_pDXFFile<6C><65> <20><><EFBFBD><EFBFBD>m_Data
void WrtieEntities();
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// fFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// fx, fy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
// strBlockName <20><><EFBFBD><EFBFBD>
// dAngle <20>Ƕ<EFBFBD>
void WriteInsert(FILE *fFile, float fx, float fy, CString strBlockName, double dAngle);
//д<>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ı<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// fFile д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>
// iLayer <20><><EFBFBD>ڵIJ<DAB5>
// fx, fy <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
// strString <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
void WriteEntitiesText(FILE *fFile, int iLayer, float fx, float fy, CString strString);
void WriteRule();
void WriteRule_Empty();
//<2F><><EFBFBD><EFBFBD>rulͷ<6C><CDB7><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
// pRulFile <20>ļ<EFBFBD>
// StyleInfo <20><>ʽ<EFBFBD><CABD>Ϣ
// strFileName rul<75>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
void WriteRuleHead(FILE *pRulFile, CWriteStyleInfo StyleInfo, CString strFileName);
//<2F><><EFBFBD><EFBFBD>rul<75><6C><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
// pRulFile <20>ļ<EFBFBD>
// pRulData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iSizeCount <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// iGradeCount <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WriteRule(FILE *pRulFile, CPoint **pRulData, int iSizeCount, int iGradeCount);
};
#endif