#pragma once #include "ADSGePoint3d.h" class BlockGeomInfo { public: BlockGeomInfo(); virtual ~BlockGeomInfo(); double GetSizeX() const; double GetSizeY() const; double GetSizeZ() const; double GetRotation() const; ADSGePoint3d GetCenter() const; // 取得四个角点 ADSGePoint3d GetLowLeft() const; ADSGePoint3d GetLowRight() const; ADSGePoint3d GetUpRight() const; ADSGePoint3d GetUpLeft() const; void GetPolyline(AcDbPolyline &pline) const; Acad::ErrorStatus CalInsertParameters(const AcDbBlockReference *pBlk, ADSGePoint3d &ptBase, double *nRot, double *nSx, double *nSy, double *nSz) const; void SetFromInsert(const AcDbBlockReference *pInsert); void UpdateInsert(AcDbBlockReference *pInsert) const; public: ADSGePoint3d m_ptCen; //底面中心 double m_nRotation; double m_nSizeX, m_nSizeY, m_nSizeZ; };