#include "stdafx.h" #include "StdArx.h" #include "dbproxy.h" #include "geassign.h" #include "acgi.h" #include "TDbEEquipment.h" #define VERSION_TDBEEQUIPMENT 1 //{{AFX_ARX_MACRO ACRX_DXF_DEFINE_MEMBERS( TDbEEquipment, TDbEquipmentBase, AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent, AcDbProxyEntity::kAllAllowedBits, ATS_EEQUIPMENT, "图形无法解析, 请下载上华软件|网址: www.shanghuasoft.com"); //}}AFX_ARX_MACRO TDbEEquipment::TDbEEquipment() { //{{AFX_ARX_DATA_INIT(TDbEEquipment) //}}AFX_ARX_DATA_INIT } TDbEEquipment::~TDbEEquipment() { } Acad::ErrorStatus TDbEEquipment::dxfOutFields(AcDbDxfFiler* pFiler) const { assertReadEnabled(); Acad::ErrorStatus es; if ((es = TDbEquipmentBase::dxfOutFields(pFiler)) != Acad::eOk) return es; // Write subclass marker. pFiler->writeItem(AcDb::kDxfSubclass, _T("TDbEEquipment")); // Write version number. pFiler->writeItem(AcDb::kDxfInt16, (Adesk::UInt16) VERSION_TDBEEQUIPMENT); return es; } Acad::ErrorStatus TDbEEquipment::dxfInFields(AcDbDxfFiler* pFiler) { assertWriteEnabled(); struct resbuf rb; if ((TDbEquipmentBase::dxfInFields(pFiler) != Acad::eOk) || !pFiler->atSubclassData(_T("TDbEEquipment"))) return pFiler->filerStatus(); // Read version number. pFiler->readItem(&rb); if (rb.restype != AcDb::kDxfInt16) { pFiler->pushBackItem(); pFiler->setError(Acad::eInvalidDxfCode, _T("Error: expected object version group code %d"), AcDb::kDxfInt16); return pFiler->filerStatus(); } else { Adesk::UInt16 version = rb.resval.rint; if (version > VERSION_TDBEEQUIPMENT) return Acad::eMakeMeProxy; } return pFiler->filerStatus(); } Acad::ErrorStatus TDbEEquipment::dwgOutFields(AcDbDwgFiler* pFiler) const { assertReadEnabled(); Acad::ErrorStatus es; // Call dwgOutFields from TDbInterfacesObj if ((es = TDbEquipmentBase::dwgOutFields(pFiler)) != Acad::eOk) { return es; } // Write version number. pFiler->writeItem((Adesk::UInt16) VERSION_TDBEEQUIPMENT); return pFiler->filerStatus(); } Acad::ErrorStatus TDbEEquipment::dwgInFields(AcDbDwgFiler* pFiler) { assertWriteEnabled(); Acad::ErrorStatus es; // Call dwgInFields from TDbInterfacesObj if ((es = TDbEquipmentBase::dwgInFields(pFiler)) != Acad::eOk) { return es; } // Read version number. Adesk::UInt16 version; pFiler->readItem(&version); if (version > VERSION_TDBEEQUIPMENT) return Acad::eMakeMeProxy; switch (version) { case (1): { break; } default: break; } return pFiler->filerStatus(); } Acad::ErrorStatus TDbEEquipment::subGetTransformedCopy( const AcGeMatrix3d& xform,AcDbEntity*& pEnt) const { assertReadEnabled(); pEnt = new TDbEEquipment; (TDbEEquipment*)pEnt->copyFrom(this); pEnt->transformBy(xform); return Acad::eOk; }