明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1833|回复: 3

[求助]怎样判断一个选择集是否存在啊

[复制链接]
发表于 2005-7-8 17:38:00 | 显示全部楼层 |阅读模式

Dim sset As AcadSelectionSet
‘在添加以前加个判断语句,看test是否存在
(1)
Set sset = acadApp.ActiveDocument.SelectionSets.Add("test")
sset.SelectOnScreen
If IsNull(acadApp.ActiveDocument.SelectionSets.item("test")) Then Exit Sub
Set frm_chamfer_objcs.sset = sset
frm_chamfer_objcs.Show
(2)
acadApp.ActiveDocument.SelectionSets("test").Delete加在(2)的位置,frm_chamfer_objcs.sset 的窗体中的选择集变成nothing了
加在(1)那位置呢,第一次执行会出错,以后就好了

最好是有个语名判断选择集是否存在
发表于 2005-7-8 19:50:00 | 显示全部楼层
给一个函数给你参考,里面有判断的语句。 Public Function CreateSelectionSet(Optional ssName As String = "ss") As AcadSelectionSet
'返回一个空白选择集

Dim ss As AcadSelectionSet

On Error Resume Next
Set ss = ThisDrawing.SelectionSets(ssName)
If Err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
ss.Clear
Set CreateSelectionSet = ss
End Function
 楼主| 发表于 2005-7-9 09:46:00 | 显示全部楼层
非常感谢
发表于 2005-7-11 09:29:00 | 显示全部楼层

选择集有Bug,使用前必须调用Delete方法删除掉

不需判断选择集是否存在

直接这样就可以了:

on error resume next

ThisDrawing.SelectionSets("test").delete

set ss=ThisDrawing.SelectionSets.add("test")

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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