乐筑天下

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

CAD VBA程序问题请教,请高手指导下。 (程序不知道在哪儿存在问题,选择集内是空的)

[复制链接]

1

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
7
发表于 2013-1-31 16:49:00 | 显示全部楼层 |阅读模式
Sub www()
    '创建在实例中使用的对象
    Dim pt1(0 To 2) As Double
    Dim pt2(0 To 2) As Double   
   
    pt1(0) = -5: pt1(1) = -5: pt1(2) = 0
    pt2(0) = 30000: pt2(1) = 1005: pt2(2) = 0
On Error Resume Next
    Dim SSet As AcadSelectionSet
    If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then
        Set SSet = ThisDrawing.SelectionSets.Item("Example")
        SSet.Delete     '及时删除不用的选择集非常重要
    End If
    Set SSet = ThisDrawing.SelectionSets.Add("Example")
'(2)向选择集中添加对象
     '设置选择过滤器
Dim FilterType(0 to 4) As Integer, FilterData(0 to 4) As Variant
FilterType(0) = -4
FilterData(0) = ""   '逻辑运算符的结束
'使用Crossing的选择模式
    SSet.Select acSelectionSetCrossing, pt1, pt2, FilterType, FilterData
MsgBox "选中对象上" & sset.Count & "个对象"
'(4)删除选择集
   
    'SSet.Erase     '删除选择集中所有对象,保留选择集对象
    'SSet.Delete    '删除选择集,保留其中对象
    '删除选择集和其中所有对象
    For Each element In SSet
        element.Delete
    Next
    SSet.Delete
End Sub   
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2013-2-2 21:01:00 | 显示全部楼层
如果只是要选择不同的图层,可能用“OUTSIDE-4,SP_OUTSIDE-4,Stock”来表示图层名,就能够起到“OR”的作用。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 22:42 , Processed in 1.630113 second(s), 67 queries .

© 2020-2025 乐筑天下

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