乐筑天下

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

从未遇到的选择集怪现象!

[复制链接]

23

主题

76

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
168
发表于 2005-5-7 16:05:00 | 显示全部楼层 |阅读模式
几乎对选择集失去信心了。请大家看看如下的奇特现象:
这是一个选择集的很普通的程序段:
Dim ssetObj As AcadSelectionSet
                         On Error Resume Next
If ThisDrawing.SelectionSets.Count  0 Then                                 
                 If Not IsNull(ThisDrawing.SelectionSets.Item("SSS67ET")) Then
                                         Set ssetObj = ThisDrawing.SelectionSets.Item("SSS67ET")
                                                         ssetObj.Delete
                         End If
End If
                         Set ssetObj = ThisDrawing.SelectionSets.Add("SSS67ET")
                         
                         Dim mode As Integer
                         Dim corner1(0 To 2) As Double
                         Dim corner2(0 To 2) As Double
                         mode = acSelectionSetWindow
                         ...
                         (给corner1,corner2都赋了值)                         
                         
                         ssetObj.Select mode, corner1, corner2
                         ...
                         ssetObj.delete
运行时 ,在有些电脑上出现了怪现象:
2004下,用编辑器跟踪 mode 的值始终为0,就是说
mode = acSelectionSetWindow
这行语句无效。
究其原因,发现acSelectionSetWindow=0 ! 难道autocad2004将它作为变量处理?
为了绕过该问题,
                         ssetObj.Select mode, corner1, corner2
这一行中 mode 直接替换为 "4"
出现了第二个怪现象, 无论corner1,corner2所取的窗口范围有多大,ssetObj中都只有一个 item.
小弟调试了一天 ,几乎对选择集失去信心。请问各位能否指教下,这到底属于什么问题呢?
回复

使用道具 举报

14

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-5-7 17:53:00 | 显示全部楼层
两个建议,不是很具体,姑且听之:
1.把On Error Resume Next去掉,可能有错误被忽略了。
2.选择集合有时与范围有关
通过这些年对cad的使用,证明选择功能本身没有问题,请坚定信念。
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-5-7 18:17:00 | 显示全部楼层
如果在VB中使用,会出现这种问题。可直接用数字代替。
至于哪个数字代表哪些模式,可查看对象模型。
回复

使用道具 举报

23

主题

76

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
168
发表于 2005-5-8 09:32:00 | 显示全部楼层
明总,我在帖子中提到 ,已经把 acSelectionSetWindow 改成了 4,还是不行 。
出现了第二个奇怪的问题 。
hangc兄 , 在实践中 发现选择集确实和范围有关。
我现在使用acSelectionSetWindow之前都要先 zoom一下。
很多莫名其妙的小问题都没了 。
但是这个还在 。
已经把 on error resume next去掉,还是不行啊 。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-23 08:44 , Processed in 1.298682 second(s), 60 queries .

© 2020-2025 乐筑天下

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