#pragma once class CBlock { public: CBlock(const TCHAR* szBlkName, XPoint pt, double nScale, double Rotation, const TCHAR* szLayer); virtual ~CBlock(); AcDbObjectId GetBlkId(){return m_eId;}; void Insert(XPoint ptIns); void Insert(BOOL bClose = FALSE); void TransformBy(const AcGeMatrix3d& xform); double m_nWidth, m_nHeight; AcGePoint3d m_ptMax, m_ptMin; void SetScaleFactors(AcGeScale3d scale); void GetLinkPt(XPointList &lstPt); XPoint GetInsPt() { return m_pBlkRef->position();}; protected: void InitAttr(); AcDbBlockReference *m_pBlkRef; AcDbBlockTableRecordIterator *m_pIterator; AcDbObjectId m_eId, m_BlockId; };