明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2980|回复: 3

扩展数据(XRecrod)中保存 实体的句柄, 怎么操作?

[复制链接]
发表于 2008-5-23 23:14:00 | 显示全部楼层 |阅读模式

这里有一段代码, 就是想把 两个实体句柄值写入某实体的XRecord数据中.

(handlePrev 与 handleNext 是用 AcDbEntity::getAcDbHandle(&) 获得的)

.......麻烦大家看下这一段, 我真的看不出来有什么问题了, 唉, 我ARX知识太少了...

我想问的问题是: 图元(实体)的句柄在 对应DXF组中哪个值;  下面的的代码运行acutBuildList也是OK的, 怎么到setFromRbChain就出问题了.

pXrec指针也是有效的......烦人啊

struct resbuf* pRb;
 pRb = acutBuildList(AcDb::kDxfHandle, handlePrev,    AcDb::kDxfHandle, handleNext,  RTNONE);   //这样写, DXF组用 kDxfHandle
 if (pRb == NULL)     //得到pRb也不为空
 {
  return;
 }

 Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb);     //为什么一到这里运行就出错???
 if (es != Acad::eOk)
 {
  return;
 }

 pXrec->close();
 acutRelRb(pRb);

 楼主| 发表于 2008-5-26 00:49:00 | 显示全部楼层

真的没一个人知道吗? AcDbHandle 写入 XRecord 对应哪个 DXF组, 大家没有经历这方面吗?

拜托, 我弄了好久了, 还是搞不出来, 试了各种 handle, 都不行.AcDbHandle 是64bit数据,

DXF中有kDxfInt32, 也没有kDxfInt64啊, 哪个组码对应64位数值呢? 晕了.

 楼主| 发表于 2008-5-27 23:15:00 | 显示全部楼层

好了,我把 无符号64位整型分解成无符号32位整型, 然后以字符写入;

读出时将字符转为无符号32位整型, 再合并成无符号64位.

我不知道有没有标准的字符转64位整型数的函数, 有的话, 有哪位兄弟知道呢? 这样我就不须分解成32位数据了.

是不是DXF组码中没有无符号64位数据代表类型?

发表于 2008-6-4 21:37:00 | 显示全部楼层

请问 Acad::ErrorStatus es = pXrec->setFromRbChain(*pRb);   的错误返回值是多少?

也许你可以试一下 kDxfArbHandle!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 15:40 , Processed in 0.181453 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表