资源简介
解析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个文件信息
- 上一篇:产生式编程——方法、工具与应用
- 下一篇:典型密码算法及其C语言实现——
评论
共有 条评论