明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2177|回复: 7

选择结果依赖于被选择对象位于屏幕中的位置

[复制链接]
发表于 2005-1-22 16:17:00 | 显示全部楼层 |阅读模式
通过使用选择集的Select、SelectByPolygon方法,发现一个问题:
用户默认的被选择对象集合可能包括当前图纸中的所有对象,但AutoCAD只会在那些完整出现AutoCAD显示窗口中的对象中进行选择操作。
这就是说,如果某个被选择的对象不在AutoCAD的显示窗口中,则对象肯定不会被选中。
发表于 2005-1-23 13:56:00 | 显示全部楼层
要加上:除了acSelectionSetAll 外
 楼主| 发表于 2005-1-23 20:38:00 | 显示全部楼层
版主说得对,除了除了acSelectionSetAll 选择关键字外,选择结果依赖于被选择对象位于屏幕中的位置。我使用的如下两条选择语句,都是这样的结果。 SSet.SelectByPolygon acSelectionSetCrossingPolygon, VertexArray, FilterType, FilterData
SSet.Select acSelectionSetWindow, BoxPoint1, BoxPoint2, FilterType, FilterData
发表于 2005-1-25 15:23:00 | 显示全部楼层
其实lisp程序也有同样的问题。所以我一直都用Zoom “e”.
发表于 2005-6-24 16:44:00 | 显示全部楼层
我也在这里过不去了,向各位大侠请教一下
采用以下代码可以正常得到要找的对象,存在正如上面如讲的问题,“只会在那些完整出现AutoCAD显示 窗口中的对象中进行选择操作”
mode = AutoCAD.AcSelect.acSelectionSetWindowPolygon
sset.SelectByPolygon(mode, pointsArray)
改成以下代码,则不能选中。
mode = AutoCAD.AcSelect.acSelectionSetAll
sset.SelectByPolygon(mode, pointsArray)
请问一下,acSelectionSetAll的使用方法难道和acSelectionSetWindowPolygon不同吗?为什么会出现这样的错误,请问一下如何解决?谢谢!
发表于 2005-6-27 17:12:00 | 显示全部楼层
to:my_computer想请教一下在VBA程序中怎么调用zoom "e"啊?
我采用:
glb_acadDoc.ModelSpace.zoom(e)
glb_acadDoc.zoom(e)
(glb_acadDoc 定义为 AutoCAD.AcadDocument)
都出错,说没有zoom这个命令。请大侠指点一个应怎样才能调用啊?
发表于 2005-6-27 21:37:00 | 显示全部楼层
Application.ZoomXXX


具体的XXX看帮助
发表于 2005-6-28 09:28:00 | 显示全部楼层
多谢“飞狐 版主”,我还以为是在AcadDocument中调用的呢?原来是在Application中调用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 12:46 , Processed in 0.165198 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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