![]() |
【转帖】!stub.cpp@148错误提示?
!stub.cpp@148错误提示?
!stub.cpp@148错误提示? acdbobjectid blockid; int retcode = 0; acdbblocktable *pblocktable = null; acdbblocktablerecord* pblockrecord = new acdbblocktablerecord; pblockrecord->setname("样式"); acgepoint3d basepoint(aspnt3d(pt)); pblockrecord->setorigin(basepoint); acdbhostapplicationservices()->workingdatabase() ->getsymboltable(pblocktable, acdb::kforwrite); pblocktable->add(blockid, pblockrecord); pblocktable->close(); acdbpolyline *ppoly=new acdbpolyline(); //形成闭合多段线 已经定义pd1,pd2,pd3; ppolya->addvertexat(0,pd1,0,-1,-1); ppolya->addvertexat(1,pd2,0,-1,-1); ppolya->addvertexat(2,pd3,0,-1,-1); ppolya->setclosed(adesk::ktrue); acdbobjectid id; pblockrecord->appendacdbentity(ida, ppoly); ppoly->close(); acdbobjectidarray idarr; idarr.append(ida); acgevector3d normal(0,0,1); acdbhatch *p_acdbhatch1=new acdbhatch(); p_acdbhatch1->setnormal(normal); p_acdbhatch1->setelevation(0.0); p_acdbhatch1->setassociative(true); p_acdbhatch1->setpatternscale(5); p_acdbhatch1->evaluatehatch(false); if(acad::eok!=p_acdbhatch1->appendloop(acdbhatch::kdefault ,idarr)) { delete p_acdbhatch1; return ; } //执行下面这条语句时候出现错误提示。autocad运行挺长时间才出现错误提示 //用vc调试,好像是进程已经exit(0)终止了 if( acad::eok!=p_acdbhatch1->setpattern(acdbhatch::kpredefined,"solid")) { delete p_acdbhatch1; return ; } if( acad::eok!=p_acdbhatch1->sethatchstyle(acdbhatch::knormal)) { delete p_acdbhatch1; return ; } if(acad::eok!=p_acdbhatch1->evaluatehatch(false)) { delete p_acdbhatch1; return ; } acdbobjectid hatchid1; pblockrecord->appendacdbentity(hatchid1,p_acdbhatch1); p_acdbhatch1->close(); 上面是定义块的一部分代码,在当前文档中使用没有问题,但是用executeinapplicationcontext(void (*procaddr)(void *)pfunc,void *pdata ) const = 0; 函数切换文档,打开另一个文件,时候,在pfunc函数中使用,执行上述代码出现的错误;新文档已经设置了当前文档和活动文档,并且设置了写保护,加入实体没有问题。 请帮忙分析一下,是什么原因引起? 新文档已经设置了当前文档和活动文档,并且设置了写保护,加入实体没有问题。 请问如何实现?可以设置当前活动文档,但是不能立即向该文档加入实体,必须另外重新再发一个命令。可以和你交流,欢迎和我联系? qq:19154480 msn:freejustinji@hotmail.com e-mail:justin3@citiz.net |
所有的时间均为北京时间。 现在的时间是 04:52 PM. |