// TBlockEdJig.h: interface for the TBlockEdJig class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_) #define AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "EdJigEx.h" class CBlockPreview: public AcDbEntity { public: CBlockPreview(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, double dRadius); virtual ~CBlockPreview(); virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw *pWd); AcDbBlockReference *m_pBlkRef; // AcDbCircle *m_pCir; CString m_csBlkName; XPoint m_ptIns; double m_dRadius; double m_nRotate; double m_nSacle, m_nSacleY; BOOL m_bReversal; }; class TELAPI TBlockEdJig : public TSymbEdJig { protected: CString m_csBlkName; double m_nRotate; double m_dDist; XPoint m_ptIns; BOOL m_bInsCenPt; BOOL m_bJigRotate; double m_dRadius; bool m_bUpdatePScale; // 预览实体是否随当前图纸比例变化 cet 2017.9.28 add public: TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, bool bUpdatePScale = false); TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScale, bool bUpdatePScale = false); TBlockEdJig(const TCHAR* szBlkName, XPoint pt, double nScale, AcGeVector3d vectBase, double dDist=0.0, bool bUpdatePScale = false); ~TBlockEdJig(); virtual int DoIt(int *pKeyIndex=NULL); DragStatus GetPoint(XPoint &pt); // 预览实体是否随当前图纸比例变化 cet 2017.9.28 add void SetUpdatePScale(bool bVal); AcDbBlockReference *m_pBlkRef; AcDbCircle *m_pCir; AcGeMatrix3d m_mat; BOOL m_bReversal; double m_nSacle, m_nSacleY; XPoint m_ptRef; XPoint m_ptRetIns; int m_iQuadrant; AcGeVector3d m_vectBase; void SetInsCenPt(BOOL bInsCenPt){m_bInsCenPt = bInsCenPt;}; void SetRadius(double dRadius); //显示保护圆 protected: virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; }; class TELAPI TBlockExJig : public TSymbEdJig { public: TBlockExJig(const TCHAR* szBlkName, XPoint pt, double nScaleX, double nScaleY, double dRadius); ~TBlockExJig(); virtual int DoIt(int *pKeyIndex=NULL); DragStatus GetPoint(XPoint &pt); CBlockPreview *m_pBlkRef; XPoint m_ptRef; void SetReversal(BOOL bReversal){m_pBlkRef->m_bReversal = bReversal;}; protected: virtual Adesk::Boolean update(); virtual AcDbEntity* entity() const; }; #endif // !defined(AFX_TBLOCKEDJIG_H__DFB7ED61_3660_4462_A947_0A09C283A950__INCLUDED_)