#include "stdafx.h" #include "DbFan.h" ACRX_DXF_DEFINE_MEMBERS(ATSFan, ATSHDbEquipment, AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent, 1, ATS_FAN, "ATS_FAN图形无法解析, 请下载上华软件|网址: www.shanghuasoft.com"); IMPLEMENT_TENTBASE(TDbFan); const Adesk::UInt8 TDbFan::g_nVersion = 1; TDbFan::TDbFan(): m_dAirLoad(0), m_dAirPa(0), m_dDuctIfLength(0), m_dDuctIfWidth(0) { } void TDbFan::CopyPropertiesFrom(AcDbEntity* pSrc, unsigned gMatchFlag) { assertWriteEnabled(); THDbEquipment::CopyPropertiesFrom(pSrc, gMatchFlag); TDbFan *pCoil = TDbFan::cast(pSrc); if (pCoil != NULL) { ; } } Acad::ErrorStatus TDbFan::subGetClassID(CLSID* pClsid) const { return Acad::eOk; } Acad::ErrorStatus TDbFan::dwgInFields(AcDbDwgFiler* pFiler) { assertWriteEnabled(); Acad::ErrorStatus es = THDbEquipment::dwgInFields(pFiler); if (es != Acad::eOk) return es; Adesk::UInt8 nVer; pFiler->readItem(&nVer); if (nVer>g_nVersion) // Version is too new return Acad::eMakeMeProxy; pFiler->readItem(&m_dAirLoad); pFiler->readItem(&m_dAirPa); pFiler->readItem(&m_dDuctIfLength); pFiler->readItem(&m_dDuctIfWidth); return pFiler->filerStatus(); } Acad::ErrorStatus TDbFan::dwgOutFields(AcDbDwgFiler* pFiler) const { assertReadEnabled(); Acad::ErrorStatus es = THDbEquipment::dwgOutFields(pFiler); if (es != Acad::eOk) return es; pFiler->writeItem(g_nVersion); pFiler->writeItem(m_dAirLoad); pFiler->writeItem(m_dAirPa); pFiler->writeItem(m_dDuctIfLength); pFiler->writeItem(m_dDuctIfWidth); return pFiler->filerStatus(); } Acad::ErrorStatus TDbFan::dxfInFields(AcDbDxfFiler* pFiler) { assertWriteEnabled(); Acad::ErrorStatus es = THDbEquipment::dxfInFields(pFiler); if (es != Acad::eOk) return es; if (!pFiler->atSubclassData(_T("TDbFan"))) return Acad::eBadDxfSequence; return pFiler->filerStatus(); } Acad::ErrorStatus TDbFan::dxfOutFields(AcDbDxfFiler* pFiler) const { Acad::ErrorStatus es = THDbEquipment::dxfOutFields(pFiler); assert(es == Acad::eOk); es = pFiler->writeItem(AcDb::kDxfSubclass,_T("TDbFan")); assert(es == Acad::eOk); return es; } void TDbFan::GetTips(DList &info) const { info.Append(new TObjInfoUnit(_T("对象类型"), _T("风机"))); THDbEquipment::GetTips(info); } void InitTDbFan(BOOL bTrue) { if (bTrue) { TDbFan::rxInit(); TDbFan::InitMatchProtocol(TRUE); } else { TDbFan::InitMatchProtocol(FALSE); deleteAcRxClass(TDbFan::desc()); } }