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


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


 
 
主题工具 搜索本主题 显示模式
旧 2009-05-06, 03:09 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】how to retrieve info for ole links

how to retrieve info for ole links
how to retrieve info for ole links
when you create a dwg drawing, you insert an object linked to a word document (insert->ole objects). after that, you go to edit->ole links. this linked word document will be listed in the links window.
how can i get those info about ole links?
thanks.
hi,
the simplest way is to use mfc classes coledocument and coleclientitem in your application, in odamfcapp v1.14 (ole.cpp, odamfcappdoc.h/.cpp) you can see how.
thanks for your reply. but i only have v1.13. and v1.14 only in beta version, which i cannot use it in the product development.
could you please show me how to do it using earlier version than v1.14, if possible? thanks.
hi,
functionality i referred to is available since 1.13.03.

quote:
originally posted by dmitry a. novikov
hi,
functionality i referred to is available since 1.13.03.
but the latest version is "dwgdirect鈩?version 1.13.02, posted 6/24/2005". where can i get 1.13.03?
quote:
originally posted by xidongzhang
but the latest version is "dwgdirect鈩?version 1.13.02, posted 6/24/2005". where can i get 1.13.03?
never mind. the sample odamfcapp in 1.13.02 already included the ole.cpp you mentioned above. thanks dmitry.

quote:
originally posted by dmitry a. novikov
hi,
functionality i referred to is available since 1.13.03.
hi dmitry,
thanks for you reply.
i tried the following code. but i could not get link name and path. (please see the lines between "????????????????").
any ideas for this?
// create a database and load the drawing into it.
oddbdatabaseptr pdb;
pdb = m_svcs.readfile(strftoprocess, false, false, oda::ksharedenyno);
// open the blocks table
oddbblocktableptr pblocks = pdb->getblocktableid().safeopenobject(oddb::kforwrite) ;
// get an iterator for the block table that skips deleted records
oddbsymboltableiteratorptr pblkiter = pblocks->newiterator();
// for each block in the block table
for (pblkiter->start(); ! pblkiter->done(); pblkiter->step())
{
// open the block
oddbblocktablerecordptr pblock = pblkiter->getrecordid().safeopenobject(oddb::kforwrite);
oddbobjectiteratorptr pentiter = pblock->newiterator();
for (; !pentiter->done(); pentiter->step())
{
// get the entity in a pointer
oddbentityptr pent = pentiter->objectid().safeopenobject(oddb::kforwrite);
//check if entity is a ole object
if (pent->iskindof(oddbole2frame::desc()))
{
cstring stemp;
odrectangle3d rect;
//oddbole2frameptr poleframe = ((oddbole2frameptr)pent);
odsmartptr<oddbole2frame> poleframe = ((oddbole2frameptr)pent);
odsmartptr<odoleitemhandlerimpl> poleitem = poleframe->getitemhandler();
// i can get the position of it
poleframe->position(rect);
stemp.format("upleft: (x=%e, y=%e, z=%e)", rect.upleft.x, rect.upleft.y, rect.upleft.z);
// ?????????????????????????????????????????????????? ????????
// but neither the following lines can get ole link info (return blank strings)
stemp.format("usertype: %s", (const char *)poleframe->getusertype());
stemp.format("type: %d", poleframe->gettype());
stemp.format("linkname: %s", (const char *)poleframe->getlinkname());
stemp.format("linkpath: %s", (const char *)poleframe->getlinkpath());
// nor the following lines
stemp.format("usertype: %s", (const char *)poleitem->usertype());
stemp.format("type: %d", poleitem->type());
stemp.format("linkname: %s", (const char *)poleitem->linkname());
stemp.format("linkpath: %s", (const char *)poleitem->linkpath());
// ?????????????????????????????????????????????????? ????????
}
}
}
last edited by xidongzhang; 21st november 2005 at 12:31 pmfff">.
another question
i modified the sample application odmfcapp, and it worked.
but i could not make it works without mfc document frames support . i had built a dll for getting xrefs and rasterrefs. and now i want to add ole links support to it. i did not use and will not want to use mfc document frames.
how can i make it? please, please..............................
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】want to retrieve value from database on card yang686526 SolidWorks二次开发 0 2009-04-13 03:21 PM


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


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