乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 125|回复: 9

为什么选择集不稳定啊,大家帮帮忙吧!

[复制链接]

4

主题

20

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2012-2-18 13:33:00 | 显示全部楼层 |阅读模式
我创建了一个选择集sstext然后
filtertype=0
filterdata=“text”
sstext.Select(AcSelect.acSelectionSetWindow, point1, point2, filtertype, filterdata)
为什么这么选择以后,结果不稳定呢?有时候能选到有时候选不到?开始以为是选择范围不在视野范围内,后来把范围调小了,还是不行,时有时无的,我跟踪去看了,明明两点之间范围内是有东西的,我两点第一点是左上第二点是右下,和这个有关系么?弄的我莫名其妙啊。。谁能帮帮我啊,不行我只能用笨方法全图循环了。。。
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2012-2-18 14:50:00 | 显示全部楼层
还要求在视窗范围内
回复

使用道具 举报

4

主题

20

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2012-2-19 00:58:00 | 显示全部楼层

肯定在视窗范围内啊,我没做一步都ZOOMALL一下的,还是不行,并且就是靠边的图不行,如果在中间的话就没事。。奇怪了。
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2012-2-19 09:48:00 | 显示全部楼层

1,或许你应该用SelectCrossingWindow
2,或许你应该去掉过滤器
3,既然你怀疑左上右下,为什么不换左下右上试试?
4,你的是VBA?还是COM?不是ObjectARX.Net吧?
回复

使用道具 举报

6

主题

17

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2012-2-19 10:21:00 | 显示全部楼层
试一下SelectAll试试
http://blog.csdn.net/sunchengbo2007/article/details/6626523
这个是选择集的介绍,我也不太懂。
回复

使用道具 举报

4

主题

20

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2012-2-19 20:38:00 | 显示全部楼层

目前还没搞清楚selectcrossingwindow和selectionsetwindow有什么区别,但是点的位置已经调整过了,开始是从左下到右上,后来改成左上到右下,都不行,时有时无的。。。要是去掉过滤器的话会很不效率啊,会选到很多没用的东西,影响运行速度怕。我用的是.COM要是objectarx就没问题了。。
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2012-2-20 00:34:00 | 显示全部楼层
selectcrossingwindow 矩形范围内以及和矩形框相交的实体会被选择上
selectwindow 矩形范围内实体会被选择上
回复

使用道具 举报

4

主题

20

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2012-2-20 19:10:00 | 显示全部楼层

我今天又试了下,还是不行,各种方法都试了,还是有时候选的上有时候选不上,包括去掉过滤,也不行,SELECTWINDOW和SELECTCROSSINGWINDOW也试了,还是不行,各种试验,全部以失败告终,只有SELECTALL可以,但是是全图都选上了。。我要放弃了。。。
回复

使用道具 举报

3

主题

11

帖子

1

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-8-6 09:15:00 | 显示全部楼层
我这两天也遇到这个问题,请看下图

xqrhh1rcik3.GIF

xqrhh1rcik3.GIF


我通过Editor.SelectCrossingWindow()分别选择三个图框中的对象进行处理,图中上面两个都正常,唯独下面第一个图形的标题栏丢了!
检查了框选点的坐标,没问题,我定义的分别是左下角-1和右上角+1,如果说没包括的话,应该连图框也没有啊,为什么偏偏少了标题栏呢?百思不得其解……
回复

使用道具 举报

3

主题

11

帖子

1

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-8-6 09:50:00 | 显示全部楼层

解决了!
在较早的一个帖子中发现,有朋友提到需要先缩放视窗到显示全部图形,再框选需要的图形,就照着试了一下,立竿见影啊,呵呵,总结一下:
1、我是对当前打开的一个doc进行操作,使用Editor.SelectCrossingWindow()前需要先缩放窗口,具体做法请看【】帖子的八楼;
2、我是对当前图形进行循环操作,需要多次打开同一个文档,因此在设定全局命令时,需要设定标识,即[CommandMethod("doTest",CommandFlags.Session)];
3、遇到问题解决了,别忘记来说一下怎么解决的,众人拾柴火焰高,呵呵。
谢谢大家!谢谢为本论坛添砖加瓦的朋友们,我在这里学到了越来越多的知识,其乐无穷!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 14:16 , Processed in 0.883791 second(s), 76 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表