343 lines
8.5 KiB
C
343 lines
8.5 KiB
C
|
#if !defined (WRITEDXFFILE_H)
|
|||
|
#define WRITEDXFFILE_H
|
|||
|
|
|||
|
#include "StdAfx.h"
|
|||
|
#include <iostream>
|
|||
|
#include <afxtempl.h>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define POINT_TURN 0
|
|||
|
#define POINT_CURVE 1
|
|||
|
#define POINT_ARC 2
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CURVE_POLYLINE 0
|
|||
|
#define CURVE_ARC 1
|
|||
|
#define CURVE_CIRCLE 2
|
|||
|
#define CURVE_SPLINE 3 //ֻ<><D6BB><EFBFBD><EFBFBD>AutoCAD
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define NOTCH_T 0
|
|||
|
#define NOTCH_I 1
|
|||
|
#define NOTCH_U 2
|
|||
|
#define NOTCH_V 3
|
|||
|
|
|||
|
//<2F><>ʽ<EFBFBD><CABD>Ϣ
|
|||
|
class CWriteStyleInfo : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CPoint m_ptDesignOffset; //<2F><>ʽ<EFBFBD><CABD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>(ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>)
|
|||
|
CString m_strStyleName;
|
|||
|
CString m_strBaseSizeName;
|
|||
|
CList<CString, CString> m_listAllSize;
|
|||
|
|
|||
|
CWriteStyleInfo(void);
|
|||
|
CWriteStyleInfo(CWriteStyleInfo& a);
|
|||
|
~CWriteStyleInfo(void);
|
|||
|
|
|||
|
void operator=(CWriteStyleInfo& a);
|
|||
|
void Initial(void);
|
|||
|
};
|
|||
|
/////////////////////////////////////////////////////////////////////////
|
|||
|
class CPointIData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CPoint m_ptPoint;
|
|||
|
int m_iGradeIndex;
|
|||
|
int m_iPointType; //POINT_TURN
|
|||
|
|
|||
|
public:
|
|||
|
CPointIData(void);
|
|||
|
CPointIData(CPointIData& a);
|
|||
|
~CPointIData(void);
|
|||
|
|
|||
|
void operator=(CPointIData& a);
|
|||
|
void Initial(void);
|
|||
|
};
|
|||
|
class CPointIDataList : public CList<CPointIData,CPointIData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CPointIDataList& operator=(CPointIDataList& 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>ֵ:
|
|||
|
CPointIData& operator[](int iIndex);
|
|||
|
};
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
class CCurveIData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CPointIDataList m_listCtrlPoint; //<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|||
|
CList<CPoint, CPoint> m_listActualPoint; //ʵ<>ʵ<EFBFBD><CAB5><EFBFBD>
|
|||
|
|
|||
|
BOOL m_bClose; //=true<75>պϣ<D5BA>=false <20><><EFBFBD><EFBFBD>
|
|||
|
int m_iCurveType; //=CURVE_ARC, CURVE_CIRCLE, CURVE_POLYLINE
|
|||
|
int m_iDrawType; //<2F><><EFBFBD><EFBFBD>
|
|||
|
COLORREF m_crColor; //<2F><>ɫ
|
|||
|
int m_iLayer; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵIJ<DAB5>
|
|||
|
|
|||
|
//˵<><CBB5>:
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
CURVE_ARC m_listCtrlPoint Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ㣬 m_listActualPointΪʵ<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CURVE_CIRCLE m_listCtrlPoint Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ㣬 m_listActualPointΪʵ<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CURVE_POLYLINE m_listCtrlPointΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ㣬 m_listActualPointΪʵ<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD> m_listCtrlPoint<EFBFBD><EFBFBD>m_listActualPointֵ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
CURVE_SPLINEָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoCAD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CURVE_SPLINE m_listCtrlPointΪ<EFBFBD><EFBFBD><EFBFBD>߾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>Ƶ㣬 m_listActualPointΪ<EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>Ƶ㣬 m_listActualPoint<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_listCtrlPoint<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>* 4 - 4
|
|||
|
*/
|
|||
|
public:
|
|||
|
CCurveIData(void);
|
|||
|
CCurveIData(CCurveIData& a);
|
|||
|
~CCurveIData(void);
|
|||
|
|
|||
|
void operator=(CCurveIData& a);
|
|||
|
void Initial(void);
|
|||
|
|
|||
|
private:
|
|||
|
void CopyData(CCurveIData &a);
|
|||
|
};
|
|||
|
|
|||
|
class CCurveIDataList : public CList<CCurveIData,CCurveIData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CCurveIDataList& operator=(CCurveIDataList& 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>ֵ:
|
|||
|
CCurveIData& operator[](int iIndex);
|
|||
|
|
|||
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>Ƶ㣬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// listPointData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>Ƶ㣬<C6B5><E3A3AC><EFBFBD>Ƶ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void GetCtrlPointIData(CPointIDataList &listPointData);
|
|||
|
|
|||
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ㣬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// listPoint <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ㣬ʵ<E3A3AC>ʵ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void GetActualPoint(CList<CPoint, CPoint> &listPoint);
|
|||
|
};
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
class CTextIData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CPointIData m_PointData;
|
|||
|
CString m_strText;
|
|||
|
double m_dHeight; //<2F><>λ mm
|
|||
|
double m_dAngle; //<2F><>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD>ĽǶ<C4BD>
|
|||
|
public:
|
|||
|
|
|||
|
CTextIData(void);
|
|||
|
CTextIData(CTextIData& a);
|
|||
|
~CTextIData(void);
|
|||
|
void operator=(CTextIData& a);
|
|||
|
void Initial(void);
|
|||
|
};
|
|||
|
class CTextIDataList : public CList<CTextIData,CTextIData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CTextIDataList& operator=(CTextIDataList& 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>ֵ:
|
|||
|
CTextIData& operator[](int iIndex);
|
|||
|
};
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
class CDrillIData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CPointIData m_ptDrill;
|
|||
|
|
|||
|
public:
|
|||
|
CDrillIData(void);
|
|||
|
CDrillIData(CDrillIData& a);
|
|||
|
~CDrillIData(void);
|
|||
|
void operator=(CDrillIData& a);
|
|||
|
void Initial(void);
|
|||
|
};
|
|||
|
|
|||
|
class CDrillIDataList : public CList<CDrillIData,CDrillIData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CDrillIDataList& operator=(CDrillIDataList& 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>ֵ:
|
|||
|
CDrillIData& operator[](int iIndex);
|
|||
|
};
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
class CNotchIData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
BOOL m_bBorder; //=true <20><><EFBFBD><EFBFBD><DFBC>ڣ<EFBFBD>=false <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
|
|||
|
CPointIData m_ptNotch;
|
|||
|
int m_iType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD> <20><>4<EFBFBD><34>80,81,82,83
|
|||
|
int m_iWidth; // <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ϵͳ<CFB5><CDB3>λ
|
|||
|
int m_iHeight; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ϵͳ<CFB5><CDB3>λ
|
|||
|
BOOL m_bAngle; //=true<75><65><EFBFBD>ڽǶ<DABD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=false<73><65><EFBFBD>ڽǶȲ<C7B6><C8B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
double m_dAngle; //<2F><><EFBFBD>ڽǶȣ<C7B6><C8A3><EFBFBD>X<EFBFBD><58><EFBFBD>Ƕ<EFBFBD>
|
|||
|
|
|||
|
public:
|
|||
|
CNotchIData(void);
|
|||
|
CNotchIData(CNotchIData& a);
|
|||
|
~CNotchIData(void);
|
|||
|
void operator=(CNotchIData& a);
|
|||
|
void Initial(void);
|
|||
|
};
|
|||
|
|
|||
|
class CNotchIDataList : public CList<CNotchIData,CNotchIData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CNotchIDataList& operator=(CNotchIDataList& 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>ֵ:
|
|||
|
CNotchIData& operator[](int iIndex);
|
|||
|
|
|||
|
//<2F><><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// ptPoint <20><><EFBFBD>ڵ<EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
// == NULL û<><C3BB><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>=false <20>ҵ<EFBFBD>
|
|||
|
POSITION FindNotch(CPoint ptPoint);
|
|||
|
|
|||
|
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>ϵļ<CFB5><C4BC><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// bBorder = true <20><><EFBFBD>ߣ<EFBFBD>=false <20><><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// listNotch <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ϵļ<CFB5><C4BC><EFBFBD>
|
|||
|
void GetNotch(BOOL bBorder, CNotchIDataList &listNotch);
|
|||
|
};
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
//˵<><CBB5><EFBFBD><EFBFBD>
|
|||
|
// <20><> AutoCAD<41><44><EFBFBD><EFBFBD>ʱֻ<CAB1><D6BB><EFBFBD><EFBFBD>m_listBorder/m_listSeam/m_listAssistantCurve/m_listText/ m_ptOffset/m_dAngle
|
|||
|
class CPatternData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
CString m_strBlockName; //<2F><><EFBFBD><EFBFBD>
|
|||
|
CString m_strPatternName; //ֽ<><D6BD><EFBFBD><EFBFBD>
|
|||
|
CString m_strSizeName; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString m_strComment; //ע<><D7A2>COMMENT/ANNOTATION
|
|||
|
CStringArray m_arrMaterial; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CUIntArray m_arrQuantity; //<2F><>Ƭ<EFBFBD><C6AC><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> Quantity:<R,L>
|
|||
|
CUIntArray m_arrLQuantity; //<2F><>Ƭ<EFBFBD><C6AC><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> Quantity:<R,L>
|
|||
|
//m_arrQuantity, m_arrLQuantity<74><79>С<EFBFBD><D0A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
|||
|
BOOL m_bFlip; //<2F><>ת<EFBFBD><D7AA>Ϣ =true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
|
|||
|
double m_dRotation; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1> Rotation<0...360>
|
|||
|
BOOL m_bFold; //<2F>۵<EFBFBD> Fold:<Y/N> =true <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>
|
|||
|
double m_dTilt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>Ƕ<EFBFBD> Tilt:<+/-0..90>
|
|||
|
|
|||
|
CCurveIDataList m_listBorder; //<2F><><EFBFBD><EFBFBD>
|
|||
|
CCurveIDataList m_listSeam; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CCurveIDataList m_listAssistantCurve; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CTextIDataList m_listText; //<2F>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
|||
|
CNotchIDataList m_listNotch; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF>Ƶ<EFBFBD><C6B5>ϣ<EFBFBD>Ҫ<EFBFBD><D2AA>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ
|
|||
|
CDrillIDataList m_listDrill; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
CCurveIData m_GrainLine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CCurveIData m_SymmetryLine; //<2F>Գ<EFBFBD><D4B3><EFBFBD>
|
|||
|
|
|||
|
//ֽ<><D6BD><EFBFBD><EFBFBD>ƫ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ת<EFBFBD>Ƕȣ<C7B6><C8A3><EFBFBD>ת<EFBFBD><D7AA>ΪCPoint(0,0), ˮƽΪ<C6BD><CEAA><EFBFBD><EFBFBD>
|
|||
|
CPoint m_ptOffset;
|
|||
|
double m_dAngle;
|
|||
|
public:
|
|||
|
CPatternData(void);
|
|||
|
CPatternData(CPatternData& a);
|
|||
|
~CPatternData(void);
|
|||
|
void operator=(CPatternData& a);
|
|||
|
void Initial(void);
|
|||
|
private:
|
|||
|
void CopyData(CPatternData &a);
|
|||
|
};
|
|||
|
|
|||
|
class CPatternDataList : public CList<CPatternData,CPatternData&>
|
|||
|
{
|
|||
|
public:
|
|||
|
CPatternDataList& operator=(CPatternDataList& 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>ֵ:
|
|||
|
CPatternData& operator[](int iIndex);
|
|||
|
|
|||
|
//<2F><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
|
|||
|
//˵<><CBB5><EFBFBD><EFBFBD>
|
|||
|
// Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void SetBlockName();
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
class CWriteDxfData : public CObject
|
|||
|
{
|
|||
|
public:
|
|||
|
int m_iDPMM;
|
|||
|
|
|||
|
//<2F><>ʽ<EFBFBD><CABD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
CWriteStyleInfo m_StyleInfo;
|
|||
|
//<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>Ϣ
|
|||
|
CCurveIDataList m_listCurveOfFile; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
CTextIDataList m_listTextOfFile; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ϣ
|
|||
|
|
|||
|
//ֽ<><D6BD><EFBFBD><EFBFBD>Ϣ
|
|||
|
CPatternDataList m_listPattern; //ֽ<><D6BD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ñ<EFBFBD><C3B1><EFBFBD>ֻ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD>rul<75>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int m_iGradeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int m_iSizeCount; //<2F><><EFBFBD><EFBFBD><CDB8><EFBFBD>
|
|||
|
//m_iSizeCount, m_iGradeCountֻ<74><D6BB>m_RulData<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CPoint **m_pRulData; //m_RulData[iSizeIndex][iGradeIndex]
|
|||
|
|
|||
|
public:
|
|||
|
CWriteDxfData(void);
|
|||
|
CWriteDxfData(CWriteDxfData& a);
|
|||
|
~CWriteDxfData(void);
|
|||
|
|
|||
|
void operator=(CWriteDxfData& a);
|
|||
|
void Initial(void);
|
|||
|
|
|||
|
private:
|
|||
|
void DeleteElta();
|
|||
|
|
|||
|
void CopyData(CWriteDxfData &a);
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
//д<>ļ<EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// strPath; <20>ļ<EFBFBD>ȫ·<C8AB><C2B7>
|
|||
|
// iFileType; = 0 ASTM<54>ļ<EFBFBD><C4BC><EFBFBD>= 1 AAMA<4D>ļ<EFBFBD>; =2 AutoCAD<41>ļ<EFBFBD>
|
|||
|
// Data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// bAutoCADVer15 =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>, ֻ<><D6BB><EFBFBD><EFBFBD>AutoCAD
|
|||
|
//<2F><><EFBFBD><EFBFBD>ֵ:
|
|||
|
// =true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>=false·<65><C2B7><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//˵<><CBB5><EFBFBD><EFBFBD>
|
|||
|
// <20><>λ<EFBFBD><CEBB>mm<6D><6D><EFBFBD><EFBFBD>
|
|||
|
BOOL WriteFile( CString strPath, int iFileType, CWriteDxfData &Data, BOOL bAutoCADVer15);
|
|||
|
|
|||
|
|
|||
|
//ֽ<><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(double dScale, CPoint ptOffset, CPoint ptPoint, float &fx, float &fy);
|
|||
|
|
|||
|
#endif
|