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


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


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-25, 09:51 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 [分享]在图中储存大量自定义数据的最简方法!

[分享]在图中储存大量自定义数据的最简方法!
www.dimcax.com
[分享]在图中储存大量自定义数据的最简方法!本文供初学者们探讨分享,也诚挚邀请高手们指点赐教!!
初始赋值:
(setq data '((1 . 1) (2 . 2) (3 . 3) (4 . 4) (5 . 5) (6 . 6) (7 . 7) (8 . 8) (9 . 9) (10 . 10)))
将数据(data)存入图中:
(vlax-ldata-put (namedobjdict) "data1" data)
取出数据:
(vlax-ldata-get (namedobjdict) "data1")
存取数据就是这么简单.这里的"data1"名称也可以是"data2", data-n...,数量不限,数据类型及容量也不限(资料上说可达2gb).
关闭图形再开,数据仍在.这样,我们就可以很方便的将自己想保存的任意数据随图保存了.
(保存一部<<西游记>>在图中如何?只要你用一个变量存储从.txt文件中读取到的文字,然后将这个变量存到图中就行了, 呵呵.)
当然,也可以这样:
(vlax-ldata-put "mydict" "data1" data)
这里的"mydict"这个名称也可以任意添加n个;data-n...也可以任意多个.vlax-ldata-put 函数自动在图中创建"mydict"词典,并将data存入"data1"中.
用这个检查数据:
(vlax-ldata-get "mydict" "data1")
再用这个看看:
(entget (namedobjdict))
可以看到词典中已经把"mydict"添加进去了(在表的最后).
用这个删除词典"mydict"中的"data1"项:
(vlax-ldata-delete "mydict" "data1")
将"mydict"词典从图形中彻底删除:
(dictremove (namedobjdict) "mydict")
一点体会(请高手指点!):
1. vlax-ldata-put 往词典中存储数据时, 原有数据是会被新数据自动替换的.(?)
2. 用(vlax-ldata-put (namedobjdict) "data1" data)往词典中存储数据时,
数据确实被保存了,但是这个"data1"项到哪里去了呢?用(entget (namedobjdict))检查不出来啊??
3. 如果要为普通图元,比如一个圆,一条线,或一个图块上附着一个扩展词典以储存特定数据,那该如何实现呢?这个我不清楚!
4. 词典中储存的数据是否容量不限, 和xrecord又有什么区别?
d
第3条我找到方法了
将数据(data)存入实体的扩展词典中(同时为实体创建一个扩展词典):
(vlax-ldata-put (setq ent (car (entsel))) "data1" data)
取出数据:
(vlax-ldata-get ent "data1")
之所以用词典而不用xdata,是因为后者有16k的容量限制,而词典不限。应该是如此吧。
d
好办法,学习一下,谢谢分享!
d
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


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

高级搜索
显示模式

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

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



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


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