找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1828|回复: 4

[求助] ARX获取ID

[复制链接]
发表于 2015-6-29 14:17:37 | 显示全部楼层 |阅读模式

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

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

×
运用下面的程序在已经打开的CAD图形中选取一条直线,然后获得所选直线ID。但是
acdbGetObjectId(EntId,Ent)返回的总是Academic::eInvalidAdsName,没办法成功获取ID,搞不懂为什么不能获得?怎样修改?
急求大神帮助!

AcDbObjectId EntId;
ads_name Ent;
ads_point adspt;
acedEntSel(_T("\nselect an line:"),Ent,adspt);
acdbGetObjectId(EntId,Ent);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 344个

财富等级: 日进斗金

发表于 2015-6-29 20:00:08 | 显示全部楼层
AcDbObjectId EntId;
ads_name Ent;
ads_point adspt;
if (RTNORM==acedEntSel(_T("\nselect an line:"),Ent,adspt))
    acdbGetObjectId(EntId,Ent);


点评

你好,感谢你的回答。acedEntSel(_T("\nselect an line:"),Ent,adspt);这句我已经试过了,已经成功获得了实体名,这个函数返回是正确的。但是就是获取ID这句返回值说是无效的adsname,困扰好几天了,就是不知道为什  详情 回复 发表于 2015-6-30 09:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-30 09:01:31 | 显示全部楼层
牢固 发表于 2015-6-29 20:00
AcDbObjectId EntId;
ads_name Ent;
ads_point adspt;

你好,感谢你的回答。acedEntSel(_T("\nselect an line:"),Ent,adspt);这句我已经试过了,已经成功获得了实体名,这个函数返回是正确的。但是就是获取ID这句返回值说是无效的adsname,困扰好几天了,就是不知道为什么

点评

代码本身没有任何问题的!可能是你的图的原因! 获取ID时判断一下, 以避免获取ID失败的情况: if (Acad::eOk==acdbGetObjectId(EntId,Ent)) { ... }  详情 回复 发表于 2015-7-2 09:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2015-7-2 09:42:21 | 显示全部楼层
shw1311 发表于 2015-6-30 09:01
你好,感谢你的回答。acedEntSel(_T("\nselect an line:"),Ent,adspt);这句我已经试过了,已经成功获得了 ...

代码本身没有任何问题的!可能是你的图的原因!
获取ID时判断一下, 以避免获取ID失败的情况:
if (Acad::eOk==acdbGetObjectId(EntId,Ent))
{
...
}

点评

你好,我试了好多次了,都是简单画一条直线,直接读的。会不会是读到中文的名字,所以老是返回无效啊。我用的是vs 2005 +arx 2007 +中文版cad 2007  详情 回复 发表于 2015-7-2 20:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-2 20:44:19 | 显示全部楼层
牢固 发表于 2015-7-2 09:42
代码本身没有任何问题的!可能是你的图的原因!
获取ID时判断一下, 以避免获取ID失败的情况:
if (Acad ...

你好,我试了好多次了,都是简单画一条直线,直接读的。会不会是读到中文的名字,所以老是返回无效啊。我用的是vs 2005 +arx 2007 +中文版cad 2007
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 16:34 , Processed in 0.282643 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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