找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 771|回复: 10

[求助]:这样一个问题,向各位求助!

[复制链接]
发表于 2003-4-10 17:48:06 | 显示全部楼层 |阅读模式

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

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

×
这样一个问题,向各位求助!
在VBA中可用GET族方法在屏幕上点选object
正如下面所附HELP文件所述,点选的点不一定
在object上,因为关心的是返回的object,在有时
对返回的点同样关心,如何在选择前设定捕捉
使点一定在object上呢?
我这样设置不行!
thisDrawing.SetVariable "OSMODE", 128
ThisDrawing.Utility.prompt "请选择第一根钢筋"
ThisDrawing.Utility.GetEntity obj, pt
firstgj.Highlight (True)


以下是HELP文件有关内容:

This method requires the AutoCAD user to
select an object by picking a point on the
graphics screen. If an entity is picked,
it is returned in the first parameter and
the second parameter will contain the point
picked in WCS coordinates. If the pick point
is not on an entity the call will fail.

The pick point returned by GetEntity does
not necessarily lie on the selected object.
The returned point represents the location
of the crosshairs at the time of selection.
The relationship between this point and the
object varies depending on the size of the
pickbox and the current zoom scale.

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

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-4-10 22:21:35 | 显示全部楼层
在VBA中,没有选中对象时,会产生错误,而通过错误捕获,则可以判断出有没有选中对象。对于GetEntity和GetSubEntity,可以在错误捕捉中,使用GetVariable("errno"),获取系统变更ERRNO的值,如果为7,表示没有选中对象,否则可能是其它错误,如单击鼠标右键或者点击工具栏等等。如下:

  1.   [FONT=courier new]
  2. Sub Test()
  3.     On Error GoTo ErrTrap
  4.     ThisDrawing.Utility.GetEntity EntObj, Pt, "请选择第一根钢筋"
  5.     Exit Sub
  6.    
  7. ErrTrap:
  8.     If ThisDrawing.GetVariable("errno") = 7 Then
  9.         Err.Clear
  10.         Resume
  11.     End If
  12.     On Error GoTo 0
  13. End Sub
  14.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-4-10 22:43:45 | 显示全部楼层
斑竹?:你可能明白我说的
其实选到了物体
但返回的点不一在object上,
现在既要选到物体,又要使点
在物体上,如何做?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-4-10 23:55:27 | 显示全部楼层 |阅读模式

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

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

×
一种方法是判断返回点跟对象之间的关系,比如在端点附近,还是在中点附近。
另一种是使用VLAX类库中的获取最近点的函数,但也不能获的十分精确的点,一般要自己判断,方法是根据捕捉靶框的大小结合点来操作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2003-4-11 18:11:32 | 显示全部楼层
谁能有好办法?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 70个

财富等级: 招财进宝

发表于 2003-8-14 17:43:25 | 显示全部楼层
我也遇到这个问题,希望高手再研究研究如何捕捉到所期望的对象。
我要遍历所有的多段线和样条曲线(这些线可能首尾相连,但不重复不交叉),分别对每条线使用measure命令;然而measure命令的参数是一个能够捕捉到这些点的坐标,我无法得到。我想使用线的中点坐标或是线上距离端点一定长度的点可以捕捉目标,不知如何取得这样的点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-15 21:37:01 | 显示全部楼层
在VBA中可以直接调用arx函数 acedNEntSelP(),
网友[B]zf9568[/B]  的非凡发现, 看看这个帖子http://www.xdcad.net/forum/showthread.php?s=&threadid=77238
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 70个

财富等级: 招财进宝

发表于 2003-8-18 16:45:13 | 显示全部楼层
最初由 rave 发布
[B]在VBA中可以直接调用arx函数 acedNEntSelP(),
网友[B]zf9568[/B]  的非凡发现, 看看这个帖子http://www.xdcad.net/forum/showthread.php?s=&threadid=77238 [/B]

我不懂ARX,斑竹能否详细介绍一下VBA中调用arx函数 acedNEntSelP()的方法:语法怎样写?是不是需要ARX的库文件?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-19 08:23:17 | 显示全部楼层
是这种效果吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 70个

财富等级: 招财进宝

发表于 2003-8-19 13:53:11 | 显示全部楼层
用VBA如何得到这样一个点的坐标:该点位于指定的线上,距离端点的距离是个定值(比如5米)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-8-26 15:13:19 | 显示全部楼层
最初由 lijiao 发布
[B]是这种效果吗? [/B]


应该就是这种效果,但要在ThisDrawing.Utility.prompt "请选择第一根钢筋"后点选实体时得到实体上的点

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 18:31 , Processed in 0.302115 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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