#include "stdafx.h" #include "DuctIFaceMakeUp.h" // sg modify // const Adesk::UInt8 TDuctIFaceMakeup::g_nVersion = 1; const Adesk::UInt8 TDuctIFaceMakeup::g_nVersion = 2; TDuctIFaceMakeup::TDuctIFaceMakeup() { m_dWidth = 800; m_dHeight = 500; m_dVDAngle = 0; m_dEle = 0.0; m_dFlDist = 100; m_dFlThick = 50; m_nType = 0; m_nDrawType = 2; m_nSection = 0; m_nDQType = TDbDuct::kMidMid; m_nDQSide = TPipeSys::kStartPt; } Acad::ErrorStatus TDuctIFaceMakeup::DwgInFields (AcDbDwgFiler* pFiler) { Adesk::UInt8 nVer = 0; pFiler->readItem(&nVer); if (nVer > g_nVersion) // Version is too new { return Acad::eMakeMeProxy; } pFiler->readItem(&m_dWidth); pFiler->readItem(&m_dHeight); pFiler->readItem(&m_dVDAngle); if (nVer > 1) // 7.6 { pFiler->readItem(&m_nType); pFiler->readItem(&m_nDrawType); pFiler->readItem(&m_nSection); pFiler->readItem(&m_dEle); pFiler->readItem(&m_dFlDist); pFiler->readItem(&m_dFlThick); Adesk::UInt8 nNum; pFiler->readItem(&nNum); m_nDQType = (TDbDuct::DuiQiType)nNum; pFiler->readItem(&nNum); m_nDQSide = (TPipeSys::PtLoction)nNum; } else // 7.5 { m_nType = 0; m_nDrawType = 2; m_nSection = fabs(m_dHeight)<1.0E-3?1:0; m_dEle = 0.0; m_dFlDist = 100; m_dFlThick = 50; m_nDQType = TDbDuct::kMidMid; m_nDQSide = TPipeSys::kStartPt; } return Acad::eOk; } Acad::ErrorStatus TDuctIFaceMakeup::DwgOutFields(AcDbDwgFiler* pFiler, BOOL bFlag) const { // if (g_nSaveTArchVer == 7) // 8.0使用 // { // pFiler->writeItem((Adesk::UInt8)2); // } // else // { // pFiler->writeItem(g_nVersion); // } pFiler->writeItem(g_nVersion); pFiler->writeItem(m_dWidth); pFiler->writeItem(m_dHeight); pFiler->writeItem(m_dVDAngle); if (g_nSaveTArchVer > 6) { if (bFlag) { pFiler->writeItem(m_nType); } else { pFiler->writeItem(1); } pFiler->writeItem(m_nDrawType); pFiler->writeItem(m_nSection); pFiler->writeItem(m_dEle); pFiler->writeItem(m_dFlDist); pFiler->writeItem(m_dFlThick); pFiler->writeItem((Adesk::UInt8)m_nDQType); pFiler->writeItem((Adesk::UInt8)m_nDQSide); } return Acad::eOk; }