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


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(C++)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-14, 02:29 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】!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
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 04:13 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多