- 积分
- 3252
- 明经币
- 个
- 注册时间
- 2001-6-11
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2004-2-27 10:22:00
|
显示全部楼层
1. 关于用Arx读数据,
两种情况,一种是对实体上的LDATA, 可以用读Xdata的办法. 主要的问题是你要展开来. 比如碰到RTENAME, 你就要用一个ads_name 来表示
如ename[0]=rb->resval.rlname[0]
ename[1]=rb->resval.rlname[1]
然后再打开ename, 在读ename的扩展数据.
可以用递归来读.
=============
如果是词典类的数据,在Arx中打开词典,进行匹配后, 最后用
acdbentgetX()可一得到一个resbuf
2. 反过来我没做过.
3.两个问题, Arx 读Data和Lisp里的LData不是100%兼容. 当LData太多时, acdbentgetX()会失效. 我在Autodesk的网站上问过,对方只是说本来就不是100% 正确,但不知道原因.
第二个问题是,对于有些数据, 如果不依赖实体的,在AutoCAD2004以后,建议使用Table类等. 结构上有点象普通的容器类,对一些规律性强的情况下用起来比resbuf更加方便. |
|