#pragma once class AecDbObjXDataMap; class CUIISQLiteServer; #ifndef NDEBUG // 使得Debug版本,能够正确实现ASSERT和VERIFY(在没有_DEBUG宏的情况下) #ifdef ASSERT #undef ASSERT #endif #define ASSERT(n) assert(n) #ifdef VERIFY #undef VERIFY #endif #define VERIFY(n) assert(n) #endif namespace PIDLineTools { void loadToolbar(); CString getCurrentLayerSys(); void setCurrentLayerSys(LPCTSTR sys); bool getSqliteDB(LPCTSTR dbName, CUIISQLiteServer &db); double getPScale(); Acad::ErrorStatus generateGroup(LPCTSTR name, AcDbObjectIdArray & ids, AcDbObjectId &id); int GetSamplePoints(AcDbCurve* pCrv, AcGePoint3dArray& arPoints); void ReSetPID(AecDbObjXDataMap& xDataMap); void ReSet(AecDbObjXDataMap& xDataMap); void FormatPIDDimText(CString& sText, AecDbObjXDataMap& objXData, AecDbObjXDataMap& modelXData, CString& sDimText); BOOL FormatPIDPipeDimTxt(AcDbEntity* pEnt, CString& sTopDimTxt, CString& sBomDimTxt); BOOL FormatPIDPipeDimTxt(AcDbObjectId& id, CString& sTopDimTxt, CString& sBomDimTxt); BOOL FormatPipeDimTxt(AcDbEntity* pEnt, CString& sTopDimTxt, CString& sBomDimTxt); BOOL FormatPipeDimTxt(AecDbObjXDataMap& objXData, CString& sTopDimTxt, CString& sBomDimTxt); BOOL FormatPipeDimTxt(AcDbObjectId& id, CString& sTopDimTxt, CString& sBomDimTxt); void FormatDimText(CString& sText, AecDbObjXDataMap& objXData, AecDbObjXDataMap& modelXData, CString& sDimText); }; #define FILE_NAME_INI _T("\\pid_uicache.dat") #define GET_CACHE(format, ...) UIHistory::readCache(FILE_NAME_INI, CString(__FUNCTION__), _T(#format), ##__VA_ARGS__) #define SET_CACHE(format, ...) UIHistory::writeCache(FILE_NAME_INI, CString(__FUNCTION__), _T(#format), ##__VA_ARGS__)