乐筑天下

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

請問 使用過濾器 acSelectionSetAll 就不能下過濾條件嗎?

[复制链接]

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2013-7-24 00:57:00 | 显示全部楼层 |阅读模式
請問 使用過濾器 acSelectionSetAll 就不能下過濾條件嗎?
我把 SelectOnScreen 換成 acSelectionSetAll , 後面的FilterType, FilterData好像是不起作用的? 可是看說明應該是可以的啊..
sset.SelectOnScreen FilterType, FilterData
sset.Select acSelectionSetAll, , , FilterType, FilterData
我的想法是要全選 所有叫 DJ_V2 的圖塊, 不過, 目前看來好像要先選出所有圖塊, 再一個個去看是不是DJ_V2 的圖塊
Dim FilterType(0) As Integer
Dim FilterData(0)   As Variant
     On Error GoTo ErrorHandle1
FilterType(0) = 0
FilterData(0) = "insert"
fff:
Set sset = ThisDrawing.SelectionSets.Add("SS1")
sset.SelectOnScreen FilterType, FilterData
'sset.Select acSelectionSetAll, , , FilterType, FilterData
     
Dim entry As AcadEntity
For Each entry In sset
entry.color = acRed
entry.Update
Next entry
Exit Sub
ErrorHandle1:
ThisDrawing.SelectionSets.Item("SS1").Delete
     GoTo fff
end sub      

n4zdnzpm5e5.png

n4zdnzpm5e5.png

该贴已经同步到

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1

主题

113

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
117
发表于 2013-7-25 13:55:00 | 显示全部楼层
  1. Sub SelectionSetFilterTest()
  2.     Dim FilterType(0 To 1) As Integer
  3.     Dim FilterData(0 To 1) As Variant
  4.     Dim sSet As AcadSelectionSet
  5.     Dim Entry As AcadEntity
  6.     FilterType(0) = 0 '图元类型
  7.     FilterData(0) = "INSERT"
  8.     FilterType(1) = 2 '图元名称
  9.     FilterData(1) = "DJ_V2"
  10.     On Error Resume Next
  11.     ThisDrawing.SelectionSets.Item("SS1").Delete
  12.     Set sSet = ThisDrawing.SelectionSets.Add("SS1")
  13.     On Error GoTo 0
  14.    
  15.     '显示整个图形
  16.     ThisDrawing.Application.ZoomExtents
  17.    
  18.     'sSet.SelectOnScreen FilterType, FilterData
  19.    
  20.     'Select只能选择图形中可视范围内的实体
  21.     sSet.Select acSelectionSetAll, , , FilterType, FilterData
  22.     If sSet.Count = 0 Then Exit Sub
  23.     For Each Entry In sSet
  24.         Entry.color = acRed
  25.         Entry.Update
  26.     Next Entry
  27.     MsgBox "修改了" & sSet.Count & "实体!"
  28. End Sub
回复

使用道具 举报

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2013-7-25 19:47:00 | 显示全部楼层
上面的程式確實可以用, 太感謝了~~
再請問一下, 如果是動態圖塊呢.....因為我還有動態圖塊....FilterData 那些該怎麼下參數?
剛下了 li 看到圖塊的資訊...
                   處理碼 = 51285
             圖塊名稱: "marks_V2"
               匿名: "*U15"
                 在 點, X= 208.3794  Y= 186.6499  Z=   0.0000
回复

使用道具 举报

1

主题

113

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
117
发表于 2013-7-26 09:00:00 | 显示全部楼层
复制代码
回复

使用道具 举报

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2013-7-26 17:37:00 | 显示全部楼层

我新作了一個測試檔(2010格式)
作了一個動態圖塊 "圖界標2"
我想要全選它 , 用上面的參數去下, 抓不到, 我猜是動態圖塊的關係~
https://googledrive.com/host/0B35LzDuPHIVhWlF3eXRPakF0QmM/Drawing3.dwg
用list看動態圖塊多了 "匿名" 這個資訊
    處理碼 = 51431
             圖塊名稱: "圖界標2"
               匿名: "*U16"
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 13:14 , Processed in 0.526934 second(s), 66 queries .

© 2020-2025 乐筑天下

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