几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】arx数据库操作求助 (http://www.dimcax.com/hust/showthread.php?t=6148)

yang686526 2009-04-14 03:42 PM

【转帖】arx数据库操作求助
 
arx数据库操作求助
arx数据库操作求助
//
// objectarx defined commands
#include "stdafx.h"
#include "stdarx.h"
#include "dbsymtb.h"
#include "dbents.h"
// this is command 'createdwg'
void defcreatedwg()
{
acdbdatabase *pdb=new acdbdatabase();
acdbblocktable *pbtbl;
pdb->getsymboltable(pbtbl,acdb::kforread);
acdbblocktablerecord *pbtblrcd;
pbtbl->getat(acdb_model_space,pbtblrcd,
acdb::kforwrite);
pbtbl->close();
acdbcircle *pcir1=new acdbcircle(acgepoint3d(1,1,1),
acgevector3d(0,0,1),
1.0),
*pcir2=new acdbcircle(acgepoint3d(4,4,4),
acgevector3d(0,0,1),
2.0);
pbtblrcd->appendacdbentity(pcir1);
pcir1->close();
pbtblrcd->appendacdbentity(pcir2);
pcir2->close();
pbtblrcd->close();
pdb->saveas("test1.dwg");
delete pdb;
}
// this is command 'readdwg'
void defreaddwg()
{
acdbdatabase *pdb=new acdbdatabase(adesk::kfalse);
pdb->readdwgfile("test1.dwg");
acdbblocktable *pblktbl;
pdb->getsymboltable(pblktbl,acdb::kforread);
acdbblocktablerecord *pblktblrcd;
pblktbl->getat(acdb_model_space,pblktblrcd,acdb::kforread);
pblktbl->close();
acdbblocktablerecorditerator *pblktblrcditr;
pblktblrcd->newiterator(pblktblrcditr);
acdbentity *pent;
for(pblktblrcditr->start();!pblktblrcditr->done();pblktblrcditr->step())
{
pblktblrcditr->getentity(pent,acdb::kforread);
acutprintf("classname: %s\n",
(pent->isa())->name());
pent->close();
}
pblktblrcd->close();
delete pblktblrcditr;
delete pdb;
}
进入autocad2 读取arx执行readdwg出现
未处理的异常c0000005,地址653f88a6h
下载次数:0
8-10-19 04:12 pm


所有的时间均为北京时间。 现在的时间是 06:24 PM.