找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 433|回复: 5

[编程申请]:如何得到前一个实体名?

[复制链接]
发表于 2003-2-19 12:32:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如果知道一个实体名,如何得到前一个实体名?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-2-19 13:00:09 | 显示全部楼层
我也想知道,实体名、句柄、还有个处理码是按递增生成的还是随机的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-2-19 14:33:59 | 显示全部楼层
在同一次接连生成的实体中,实体名数据相差8(如<Entity name: 4003dda0>和<Entity name: 4003dda8>)、句柄相差1(如(5 . "5C")和(5 . "5D"))。(16进制),若保存关闭后再打开,接着画实体时,第一个就随机了,接下来又按以上规例。所以已知实体名,求前一个实体名,可用句柄梯减的方式求。但对于非一次画的图,就不准了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-2-19 16:54:36 | 显示全部楼层
....接着画实体时,第一个就随机了,接下来又按以上规....
1 接下来是按最大的递增吗?
2 画图中假如删除前面绘制的实体,以后绘制实体的句柄不会填充这些空缺,仍是按图中最大一个递增,对吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-2-19 19:07:31 | 显示全部楼层
最初由 eachy 发布
[B]....接着画实体时,第一个就随机了,接下来又按以上规....
1 接下来是按最大的递增吗?
2 画图中假如删除前面绘制的实体,以后绘制实体的句柄不会填充这些空缺,仍是按图中最大一个递增,对吗? [/B]


实体名是通过对象ID(AcDbObjectId 对象)对应的,ID是递增的。

当然也有方法改变对象的物理ID值。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-2-19 22:06:17 | 显示全部楼层
(vla-get-objectid (vlax-ename->vla-object (car (entsel)))) 可以得到对象的ID

Obtaining One Object Identifier from Another You may find the same drawing object represented by different identifiers and data types such as a handle string, an ename, a VLA-object, or an ARX object ID integer. To obtain the identifier with the data type your program requires, use the following strategies:

To find the handle associated with an ename, use the DXF 5 group of the ename's association list:
_$ (setq handle-circle (cdr (assoc 5 (entget ename-circle))))
"4F"

To find the ename associated with a handle, use the handent function:
_$ (handent handle-circle)
<Entity name: 27f0538>

To find the VLA-object associated with a handle, use the vla-handleToObject function:
_$ (setq vla-circle (vla-handleToObject acadDocument
handle-circle))
#<VLA-OBJECT IAcadCircle 03642c24>

To find the handle associated with a VLA-object, use vla-get-handle to obtain the handle property:
_$ (vla-get-handle vla-circle)
"4F"

To find the ARX Object ID of a VLA-object, use vla-get-objectid to get the objectID property:
_$ (setq objid-Circle (vla-get-objectid vla-circle))
41878840

To find the VLA-object identified by an ARX Object ID, use the ObjectID-toObject method on the AutoCAD Document object:
_$ (vla-ObjectIDtoObject acadDocument objid-circle)
#<VLA-OBJECT IAcadCircle 03642c24>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 01:02 , Processed in 0.179139 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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