#include "stdafx.h" #include "DbWaterAllot.h" ACRX_DXF_DEFINE_MEMBERS(ATSWaterAllot, ATSHDbEquipment, AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent, 1, ATS_WATERALLOT, "ATS_WATERALLOT图形无法解析, 请下载上华软件|网址: www.shanghuasoft.com"); IMPLEMENT_TENTBASE(TDbWaterAllot); const Adesk::UInt8 TDbWaterAllot::g_nVersion = 1; TDbWaterAllot::TDbWaterAllot(): m_dTrunkDiameter(0),m_dBranchDiameter(0),m_dPotDiameter(0), m_dWaterLoad(0), m_nBranchNum(2), m_useKind(UseKind::kHeat) { } void TDbWaterAllot::CopyPropertiesFrom(AcDbEntity* pSrc, unsigned gMatchFlag) { assertWriteEnabled(); THDbEquipment::CopyPropertiesFrom(pSrc, gMatchFlag); TDbWaterAllot *pCoil = TDbWaterAllot::cast(pSrc); if (pCoil != NULL) { ; } } Acad::ErrorStatus TDbWaterAllot::subGetClassID(CLSID* pClsid) const { return Acad::eOk; } Acad::ErrorStatus TDbWaterAllot::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; Adesk::UInt8 nTemp = 0; pFiler->readItem(&nTemp); m_useKind = (UseKind)nTemp; pFiler->readItem(&m_dTrunkDiameter); pFiler->readItem(&m_dBranchDiameter); pFiler->readItem(&m_dPotDiameter); pFiler->readItem(&m_dWaterLoad); pFiler->readItem(&m_nBranchNum); return pFiler->filerStatus(); } Acad::ErrorStatus TDbWaterAllot::dwgOutFields(AcDbDwgFiler* pFiler) const { assertReadEnabled(); Acad::ErrorStatus es = THDbEquipment::dwgOutFields(pFiler); if (es != Acad::eOk) return es; pFiler->writeItem(g_nVersion); pFiler->writeItem((Adesk::UInt8)(m_useKind)); pFiler->writeItem(m_dTrunkDiameter); pFiler->writeItem(m_dBranchDiameter); pFiler->writeItem(m_dPotDiameter); pFiler->writeItem(m_dWaterLoad); pFiler->writeItem(m_nBranchNum); return pFiler->filerStatus(); } Acad::ErrorStatus TDbWaterAllot::dxfInFields(AcDbDxfFiler* pFiler) { assertWriteEnabled(); Acad::ErrorStatus es = THDbEquipment::dxfInFields(pFiler); if (es != Acad::eOk) return es; if (!pFiler->atSubclassData(_T("TDbWaterAllot"))) return Acad::eBadDxfSequence; return pFiler->filerStatus(); } Acad::ErrorStatus TDbWaterAllot::dxfOutFields(AcDbDxfFiler* pFiler) const { Acad::ErrorStatus es = THDbEquipment::dxfOutFields(pFiler); assert(es == Acad::eOk); es = pFiler->writeItem(AcDb::kDxfSubclass,_T("TDbWaterAllot")); assert(es == Acad::eOk); return es; } void TDbWaterAllot::GetTips(DList &info) const { info.Append(new TObjInfoUnit(_T("对象类型"), _T("分集水器"))); THDbEquipment::GetTips(info); } void InitTDbWaterAllot(BOOL bTrue) { if (bTrue) { TDbWaterAllot::rxInit(); TDbWaterAllot::InitMatchProtocol(TRUE); } else { TDbWaterAllot::InitMatchProtocol(FALSE); deleteAcRxClass(TDbWaterAllot::desc()); } }