找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1006|回复: 9

[VBA程序]:有关过滤图层的问题

[复制链接]
发表于 2003-3-28 12:46:55 | 显示全部楼层 |阅读模式

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

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

×
我的程序是要选择dx-dgx图层的等高线,但是遇到下面的问题,要是   FilterData(1) = "DX-DGX" '直接写,是对的,但是FilterData(1) = lay,第一次运行这样是错的,lay是通过用户选取一条线的图层,以后运行就是对的,不知道为何?代码如下:

acadobj.ActiveDocument.Utility.GetEntity returnobj1, basepnt1, "请选一条等高线,确定等高线所在的图层"
lay = returnobj1.Layer
mode = acSelectionSetFence
Dim FilterType(1) As Integer
   Dim FilterData(1) As Variant
   FilterType(0) = 0
   FilterData(0) = "lwpolyline,spline"
   FilterType(1) = 8
   FilterData(1) = lay '"DX-DGX" '
paom.SelectByPolygon mode, ppoint, FilterType, FilterData
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-3-31 12:35:52 | 显示全部楼层
对不起我帮不了你了,太~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-3-31 15:41:49 | 显示全部楼层
这一段代码好象没有问题,如果有问题的话,任何时候运行它都会有问题,可能问题出在其它代码上。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-31 20:07:23 | 显示全部楼层
我想是用fence选择的时候有问题,请问在ucs坐标下的图,除了把全部都转换成为wcs坐标
,但这样太耗费资源了,还有什么办法,或者是怎么样用fence选择的,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-1 08:25:17 | 显示全部楼层
最初由 xsquan 发布
[B]我想是用fence选择的时候有问题,请问在ucs坐标下的图,除了把全部都转换成为wcs坐标
,但这样太耗费资源了,还有什么办法,或者是怎么样用fence选择的, [/B]

UCS转换为WCS并不耗费什么资源,只是一个简单的命令而已,程序结束时在变回原来的UCS即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-4-1 08:35:25 | 显示全部楼层
是只是一个命令,但是要是我的cad图元素很多,那就要等一点时间了,我想还有更好的办法解决的。
我选择了一条ucs坐标的直线,vb获得的是直线的wcs坐标ppoint,竟然fence要的是wcs,那么ppoint不就是正好需要的坐标吗,为什么选择的时候却是不行,而把ppoint转换成为ucs的坐标ppointucs,paom.SelectByPolygon mode, ppointucs, FilterType, FilterData,这样才能选上和直线相交的实体,但是这样vb返回给cad的把ppointucs作为wcs坐标,那么这个fence就和原来的直线不是一条了。
请教你这个问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-1 14:28:36 | 显示全部楼层
最初由 xsquan 发布
[B]是只是一个命令,但是要是我的cad图元素很多,那就要等一点时间了,我想还有更好的办法解决的。
我选择了一条ucs坐标的直线,vb获得的是直线的wcs坐标ppoint,竟然fence要的是wcs,那么ppoint不就是正好需要的坐标?.. [/B]

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

使用道具 举报

 楼主| 发表于 2003-4-1 19:50:17 | 显示全部楼层
多谢你的回答!请问帮助里面好像没有提到select用的是ucs吧?还有就是第一贴提到程序也就是差不多那些了,以前怀疑的是fence选择的问题。现在就不是了,经你的回答。我自己随便画的一张cad图是可以运行的,但是别人给的这一张就有问题,第一次出错是选上了没有和fence想交 的实体,而且是少选了好多,但是第二次就选择正确了,只是在这张图是出现这样的情况,不过,我想,肯定是有地方没有搞懂,谢谢你的回答
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-2 08:12:19 | 显示全部楼层
最初由 xsquan 发布
[B]多谢你的回答!请问帮助里面好像没有提到select用的是ucs吧?还有就是第一贴提到程序也就是差不多那些了,以前怀疑的是fence选择的问题。现在就不是了,经你的回答。我自己随便画的一张cad图是可以运行的,但是别人?.. [/B]

不用谢。
以前我也没有注意这个问题,你提出来后,我试验了一下才明白,反过来,我应该感谢你才对。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 13:07 , Processed in 0.208973 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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