#pragma once #include "AecDbEntityBase.h" #include "AecDbObjXDataMap.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class DLLIMPEXP AcDbXFloorFrame : public AecDbEntityBase { public: ACRX_DECLARE_MEMBERS(AcDbXFloorFrame); protected: static Adesk::UInt32 kCurrentVersionNumber; public: AcDbXFloorFrame(void); ~AcDbXFloorFrame(void); bool SetFloorFrame(LPCTSTR pszFloor, const AcGePoint3d &pt1, const AcGePoint3d &pt2, const AcGePoint3d &ptAg); bool GetFloorFrame(CString& sFloor, AcGePoint3d &pt1, AcGePoint3d &pt2, AcGePoint3d &ptAg) const; bool SetFloorViewName(LPCTSTR pszViewName); bool GetFloorViewName(CString& sViewName) const; bool SetFloorName(LPCTSTR pszName); bool GetFloorName(CString &sName) const; bool SetFloorHeight(Adesk::Int16 nHeight); Adesk::Int16 GetFloorHeight() const; bool AddHandle(LPCTSTR szHd); bool GetHandles(CStringArray &arHds) const; bool GetHandles(AcDbObjectIdArray &arIds) const; bool RemoveAll(); public: virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler *pFiler); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler *pFiler) const; virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler *pFiler); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler *pFiler) const; virtual void subList() const; virtual Acad::ErrorStatus copyFrom(const AcRxObject *pSrc); virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d &xform); #if ARX>16 virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const AcGeVector3d &curViewDir, const int bitflags) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray &appData, const AcGeVector3d &offset, const int bitflags); virtual Acad::ErrorStatus subGetGeomExtents(AcDbExtents &extents) const; #endif //AEC 派生 virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const; public: //专业数据 和 绘制设置 AecDbObjXDataMap *GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite); virtual const AecDbObjXDataMap *GetSpecialtyData() const; protected: TCHAR m_szFloorNo[17];//2-15 3 5 ... AcGePoint3d m_ptLB; AcGePoint3d m_ptRT; AcGePoint3d m_ptAg; TCHAR m_szFloorName[33]; //视图名称 TCHAR m_szName[65]; // Adesk::Int16 m_nFloorH; CStringArray m_arHds; public: AecGripData *m_pGripAppData; //夹点 };