• 大小: 15.49MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: C/C++
  • 标签: AutoCa  

资源简介

解析AutoCad格式数据,使用纯C++语言编写,未引用任何第三方库,可移植性好,该资源中,有主项目工程,还有我写的一个测试工程,可直接调试学习

资源截图

代码片段和文件信息

#include “parseDwgInfo.h“

#include “src/intern/drw_dbg.h“
#include “src/libdwgr.h“

#include “shp/shp_from_cad.h“

#ifdef _DEBUG
#include 
#include 
#endif

extern std::vector* g_pVecEntity = NULL;
extern DRW_Entity_Collect* g_pEntCollect = NULL;


//////////////////////////////////////////////////////////////////////////
CUtilityMethods::CUtilityMethods()
{

}
CUtilityMethods::~CUtilityMethods()
{

}

void initGlobalVecEntity()
{
CUtilityMethods::clearGlobalEntity();
//if(g_pVecEntity == NULL) {
// g_pVecEntity = new std::vector;
//}
if(g_pEntCollect == NULL) {
g_pEntCollect = new DRW_Entity_Collect();
//g_pEntCollect->vec_DRW_Entity = new std::vector;
#define NEW_ELEMENT_COLLECT(a) g_pEntCollect->vec_##a = new std::vector;
NEW_ELEMENT_COLLECT(DRW_Entity);
NEW_ELEMENT_COLLECT(DRW_Arc);
NEW_ELEMENT_COLLECT(DRW_Circle);
NEW_ELEMENT_COLLECT(DRW_Line);
NEW_ELEMENT_COLLECT(DRW_Point);
NEW_ELEMENT_COLLECT(DRW_Ellipse);
NEW_ELEMENT_COLLECT(DRW_Insert);
NEW_ELEMENT_COLLECT(DRW_LWPolyline);
NEW_ELEMENT_COLLECT(DRW_Text);
NEW_ELEMENT_COLLECT(DRW_MText);
NEW_ELEMENT_COLLECT(DRW_3Dface);
NEW_ELEMENT_COLLECT(DRW_DimOrdinate);
NEW_ELEMENT_COLLECT(DRW_DimLinear);
NEW_ELEMENT_COLLECT(DRW_DimAligned);
NEW_ELEMENT_COLLECT(DRW_DimAngular3p);
NEW_ELEMENT_COLLECT(DRW_DimAngular);
NEW_ELEMENT_COLLECT(DRW_DimRadial);
NEW_ELEMENT_COLLECT(DRW_DimDiametric);
NEW_ELEMENT_COLLECT(DRW_Leader);
NEW_ELEMENT_COLLECT(DRW_Solid);
NEW_ELEMENT_COLLECT(DRW_Hatch);
NEW_ELEMENT_COLLECT(DRW_Trace);
NEW_ELEMENT_COLLECT(DRW_Viewport);
NEW_ELEMENT_COLLECT(DRW_Spline);
NEW_ELEMENT_COLLECT(DRW_Ray);
NEW_ELEMENT_COLLECT(DRW_Polyline);
NEW_ELEMENT_COLLECT(DRW_Xline);
NEW_ELEMENT_COLLECT(DRW_Image);
}

}
void unInitGlobalVecEntity()
{
//if (g_pVecEntity) {
// while (!g_pVecEntity->empty()) {
// DRW_Entity *vert = g_pVecEntity->back();
// delete vert;
// vert = nullptr;
// g_pVecEntity->pop_back();
// }
// delete g_pVecEntity;
//}
//g_pVecEntity = NULL;

if(g_pEntCollect) {
while (!g_pEntCollect->vec_DRW_Entity->empty()) {
DRW_Entity *vert = g_pEntCollect->vec_DRW_Entity->back();
delete vert;
vert = nullptr;
g_pEntCollect->vec_DRW_Entity->pop_back();
}
#define CLEAR_VEC_COLLECT(a) \
g_pEntCollect->vec_##a->clear();\
delete g_pEntCollect->vec_##a;\
g_pEntCollect->vec_##a = nullptr;
//g_pEntCollect->vec_DRW_Entity.clear();
CLEAR_VEC_COLLECT(DRW_Entity);
CLEAR_VEC_COLLECT(DRW_Arc);
CLEAR_VEC_COLLECT(DRW_Circle);
CLEAR_VEC_COLLECT(DRW_Line);
CLEAR_VEC_COLLECT(DRW_Point);
CLEAR_VEC_COLLECT(DRW_Ellipse);
CLEAR_VEC_COLLECT(DRW_Insert);
CLEAR_VEC_COLLECT(DRW_LWPolyline);
CLEAR_VEC_COLLECT(DRW_Text);
CLEAR_VEC_COLLECT(DRW_MText);
CLEAR_VEC_COLLECT(DRW_3Dface);
CLEAR_VEC_COLLECT(DRW_DimOrdinate);
CLEAR_VEC_COLLE

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-03 16:27  parseDwgInfo\
     目录           0  2019-04-03 18:29  parseDwgInfo\Debug\
     目录           0  2019-04-03 18:42  parseDwgInfo\Debug\AAA\
     文件      121344  2019-03-15 11:11  parseDwgInfo\parseDwgInfo.suo
     文件        1378  2019-03-12 18:58  parseDwgInfo\parseDwgInfo.sln
     文件        4820  2015-04-10 02:26  parseDwgInfo\parseDwgInfo\src\libdxfrw.h
     文件       92324  2019-03-13 16:56  parseDwgInfo\parseDwgInfo\src\libdxfrw.cpp
     文件        1797  2019-03-13 16:25  parseDwgInfo\parseDwgInfo\src\libdwgr.h
     文件       11459  2019-03-21 17:23  parseDwgInfo\parseDwgInfo\src\libdwgr.cpp
     目录           0  2019-04-03 18:41  parseDwgInfo\Release\
     目录           0  2019-04-03 18:32  parseDwgInfo\TestParseDll\
     目录           0  2019-04-03 18:32  parseDwgInfo\TestParseDll\Debug\
     文件        2619  2015-07-23 16:59  parseDwgInfo\parseDwgInfo\src\intern\rscodec.h
     文件       14459  2015-07-23 16:59  parseDwgInfo\parseDwgInfo\src\intern\rscodec.cpp
     文件        2856  2015-04-21 02:58  parseDwgInfo\parseDwgInfo\src\intern\dxfwriter.h
     文件        8154  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dxfwriter.cpp
     文件        3483  2015-04-06 18:25  parseDwgInfo\parseDwgInfo\src\intern\dxfreader.h
     文件        7533  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dxfreader.cpp
     文件       18091  2019-04-03 18:41  parseDwgInfo\TestParseDll\Debug\TestParseDll.log
     文件        3371  2019-03-13 15:19  parseDwgInfo\parseDwgInfo\src\intern\dwgutil.h
     文件       22606  2019-03-13 15:18  parseDwgInfo\parseDwgInfo\src\intern\dwgutil.cpp
     文件        2197  2015-07-23 22:30  parseDwgInfo\parseDwgInfo\src\intern\dwgreader27.h
     文件        1682  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dwgreader27.cpp
     文件        2198  2015-07-23 22:30  parseDwgInfo\parseDwgInfo\src\intern\dwgreader24.h
     文件        1683  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dwgreader24.cpp
     文件        2371  2015-07-23 22:30  parseDwgInfo\parseDwgInfo\src\intern\dwgreader21.h
     文件       21889  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dwgreader21.cpp
     文件        3609  2015-07-23 22:30  parseDwgInfo\parseDwgInfo\src\intern\dwgreader18.h
     文件       24321  2019-03-07 14:36  parseDwgInfo\parseDwgInfo\src\intern\dwgreader18.cpp
     文件        1820  2015-04-10 02:32  parseDwgInfo\parseDwgInfo\src\intern\dwgreader15.h
     文件        7429  2015-07-23 22:39  parseDwgInfo\parseDwgInfo\src\intern\dwgreader15.cpp
............此处省略167个文件信息

评论

共有 条评论