#ifndef AFX_DBEQUIPDIMNEW_H__ #define AFX_DBEQUIPDIMNEW_H__ #if _MSC_VER > 1000 #pragma once #endif #include "dbSymbolAnnotate.h" //axc add 2015-05-15 保存文字插入点 查找替换命令使用 typedef struct _EquipDimTextInfo_ { XPoint ptTitle1; //m_csTitle1插入点 XPoint ptTitle2; //m_csTitle2插入点 XPoint ptTitle3; //m_csTitle3插入点 XPoint ptTitle4; //m_csTitle4插入点 }EquipDimTextInfo; class PS_EXP TDbEquipDimNew : public TDbSymbWithText { enum EDimType { eNoLine = 1, eLine = 2, eNone = 3,}; DECLARE_TENTBASE(); ACRX_DECLARE_MEMBERS(TDbEquipDimNew); public: TDbEquipDimNew(); TDbEquipDimNew(AcGePoint3d ptIns, bool bHasW, int nNum, CString csX, CString csBulbNum, CString csSpec, CString csBulbPower, CString csSetupHeight, CString csSetupMode, CString csLightType); TDbEquipDimNew(AcGePoint3d ptIns, CString csBulbNum, CString csSetupHeight); TDbEquipDimNew(AcGePoint3d ptIns, CString csBulbNum); virtual ~TDbEquipDimNew(); //************************************************************************* // Overridden methods from AcDbEntity //************************************************************************* virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); //************************************************************************* // Overridden methods from AcDbObject //************************************************************************* virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const; //************************************************************************* // TDbEquipDimNew Property //************************************************************************* //tangent 派生 virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const; virtual int GetFirstVersion()const{return 8;} virtual TSubText* HitTestText(XPoint pt)const {return NULL;}; // 返回发现的位置,同时posStart往前移动(以便继续找下一个使用), axc add 2015-05-15 virtual TTextPosition FindSubText(const TCHAR *sSubText, TTextPosition &posStart, TTextRange *pRange=NULL) const; // 返回下一次查找的开始位置 virtual TTextPosition ReplaceSubText(const TTextPosition &posRep, const TCHAR *sRepText, TTextRange *pRange=NULL); virtual long GetSubTextNum()const{ return 4; } // ok virtual void SetSubText(long i,CString sText); //ok BOOL GetText(Adesk::UInt32 cookies, TDbText &text) const; //add end AcGePoint3d GetStartPt(); AcGePoint3d GetTurnPt(); void SetStartPt(const AcGePoint3d& ptS); void SetTurnPt(const AcGePoint3d& ptT); //axc add 2015-05-12 灯具标注样式2使用以下函数 void SetLineDir(const AcGeVector3d& vtDir); AcGeVector3d GetLineDir() const; void SetDimEquipType(const int type); int GetDimEquipType() const; void SetBaseLineLen(const double dBaseLineLen); double GetBaseLineLen() const; double GetTextLength() { return GetDimLength();}; //add end void SetVector(const AcGeVector3d& vtDir); int m_nType; // 0: 灯具标注 1: 设备标注 int m_nNum; //灯具数量 CString m_csSpec; //灯具型号 CString m_csBulbNum; //灯泡个数 CString m_csBulbPower; //灯泡功率 CString m_csSetupHeight; //安装高度 CString m_csSetupMode; //安装方式 CString m_csLightType; //光源种类 AcGePoint3d m_ptStart, m_ptIns; //引出线起点,插入点 CString m_csX, m_csTextStyle; bool m_bHasW; void InitData(); protected: double GetDimLength() const; CString m_csTitle1, m_csTitle2, m_csTitle3, m_csTitle4; double m_nDimLen; const static Adesk::UInt8 g_nVersion; //版本控制 }; #endif // !defined(AFX_DBEQUIPDIMNEW_H__7793433B_E587_45FC_9DE4_D7B380DC1208__INCLUDED_)