几何尺寸与公差论坛------致力于产品几何量公差标准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-16, 11:51 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】[arx]为什么我的自定义实体类加入对象字典 出错

[arx]为什么我的自定义实体类加入对象字典 出错
[arx]为什么我的自定义实体类加入对象字典 出错
// this is command 'test'
void cascotest()
{
acutprintf("cascocentity was on the drawing.\n");
acdbblocktable *pblktbl;
acdbhostapplicationservices()->workingdatabase()
->getblocktable(pblktbl, acdb::kforread);
acdbblocktablerecord *ptblrcd;
pblktbl->getat(acdb_model_space, ptblrcd, acdb::kforwrite);
pblktbl->close();

cascocentity *pmyent = new cascocentity();//自定义实体类cascocentity : public acdbentity
ptblrcd->appendacdbentity(objectid, pmyent);
objectid_a = objectid;
const acgepoint3d start(pmyent->center());
//pmyent->close();
cascocentity *pmysecondent = new cascocentity("drawing0.dwg", "two_rect"); //自定义实体类cascocentity : public acdbentity
ptblrcd->appendacdbentity(objectid, pmysecondent);
objectid_b = objectid;
const acgepoint3d end(pmysecondent->center());
//pmysecondent->close();
acdbline *pline = new acdbline(start, end);
ptblrcd->appendacdbentity(objectid, pline);
pline->close();
acdbdictionary *pnamedobj;
acdbdictionary *pnamelist;
acdbhostapplicationservices()->workingdatabase()
->getnamedobjectsdictionary(pnamedobj, acdb::kforwrite);
if (pnamedobj->getat("asdk_dict", (acdbobject*&)pnamelist, acdb::kforwrite)
== acad::ekeynotfound)
{
pnamelist = new acdbdictionary;
acdbobjectid dictid;
pnamedobj->setat("asdk_dict", pnamelist, dictid);
}
pnamedobj->close();
cascoobjecttonotify *pobj = new cascoobjecttonotify(); //自定义实体类cascoobjecttonotify : public acdbobject
pobj->elinkage(objectid, true);
acdbobjectid objid;
if ((pnamelist->getat("object_to_notify_a", objid))
== acad::ekeynotfound)
{
pnamelist->setat("object_to_notify_a", pobj, objid);
pobj->close();
} else {
delete pobj;
ads_printf("object_to_notify_a already exists\n");
}
pmyent->addpersistentreactor(objectid_a); //原来是objid,关键objid为空
pmyent->close();
pobj = new cascoobjecttonotify();
pobj->elinkage(objectid, false);
if ((pnamelist->getat("object_to_notify_b", objid))
== acad::ekeynotfound)
{
pnamelist->setat("object_to_notify_b", pobj, objid);
pobj->close();
} else {
delete pobj;
ads_printf("object_to_notify_b already exists\n");
}
pmysecondent->addpersistentreactor(objectid_b); //原来是objid
pmysecondent->close();
pnamelist->close();
ptblrcd->close();
}
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】[arx] 自定义实体拖动,在反应器重载函数中出错。 yang686526 ObjectARX(C++) 0 2009-04-16 11:32 AM
【转帖】[arx] 用acutbulidlist 为什么会出错? yang686526 ObjectARX(C++) 0 2009-04-16 11:31 AM
【转帖】pglyxq 朋友,重载捕捉函数出错,帮看看 yang686526 ObjectARX(C++) 0 2009-04-16 10:52 AM
【转帖】arx (vc60+acad2)自定义实体类读写出错 yang686526 ObjectARX(C++) 0 2009-04-14 03:15 PM
【求助】【转帖】"> 请问坐标测量机出错时分支语句…… huangyhg PC-DMIS 0 2009-04-07 10:43 PM


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


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