明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 134|回复: 2

请问一下,VBA怎么创建图层过滤器?

[复制链接]
发表于 2024-6-18 10:04 | 显示全部楼层 |阅读模式
我目前是调用自带的命令设置的

想请问一下,VBA不支持图层过滤器对象么?
  1. Sub 设置滤器()
  2.     '删除滤器
  3.     ThisDrawing.SendCommand "(command ""-LAYER"" ""Filter"" ""D"" ""组过滤器"" """")" & vbCr
  4.     '新建过滤器
  5.     ThisDrawing.SendCommand "(command ""-LAYER"" ""FILTER"" ""NEW"" ""GROUP"" """" ""0,0、编号,1、设备,1、设备名称,2、给水图,3、排水、地沟图,4、电位图,5、墙位图,6、送排风,Door,Roomm,RoomName,WALL,辅助不打印,辅助锁定图层,家具,面积框,图框,"" ""组过滤器"" """")" & vbCr
  6.     '当前过滤器
  7.     ThisDrawing.SendCommand "(command ""-LAYER"" ""Filter"" ""S"" ""组过滤器"" """")" & vbCr
  8. End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-6-18 12:38 | 显示全部楼层
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")

    Dim filterType(0) As Integer
    Dim filterData(0) As Variant
    filterType(0) = 8                                   '图层名称
    filterData(0) = "*编号*"                         '图层名称

    '使用过滤器,由用户在屏幕上选择
    FilterSet.SelectOnScreen filterType, filterData
 楼主| 发表于 2024-6-18 12:41 | 显示全部楼层
tiancao100 发表于 2024-6-18 12:38
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")

    Dim filterType(0) As Integer

你好,我的意思是图层管理器的过滤器,不是选择集过滤器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-27 05:28 , Processed in 0.137368 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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