明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1874|回复: 2

请问真正高手:关于CAD里面选择集过滤器的使用

[复制链接]
发表于 2006-5-3 15:30:00 | 显示全部楼层 |阅读模式
Dim sobj As AcadObject
   Dim ssetObj As AcadSelectionSet
  Dim GpCode(0 to 1) As Integer
    Dim DataValue(0 to 1) As Variant
   Set ssetObj = ThisDrawing.SelectionSets.Add("SSET" + CStr(Rnd(1)))
       GpCode(0) = 0
    DataValue(0) = "Line"
       GpCode(1) = 8
    DataValue(1) = "0"
   Mode = acSelectionSetAll
 ssetObj.Select Mode, , , GpCode, DataValue
上面可以选择0图层里面的所有线
怎么选择0图层里面的所有块?
 用以下都不行:
      GpCode(0) = 0
    DataValue(0) = "Block"
or
      GpCode(0) = 0
    DataValue(0) = "BlockRef"
发表于 2006-5-3 19:02:00 | 显示全部楼层
DataValue(0) = "Insert"
发表于 2006-5-15 14:25:00 | 显示全部楼层

雪山飞狐 老大,请问如何将几个不同块名的块添加到一个选择集???

Dim sobj As AcadObject
   Dim ssetObj As AcadSelectionSet
  Dim GpCode(0 to 1) As Integer
    Dim DataValue(0 to 1) As Variant
   Set ssetObj = ThisDrawing.SelectionSets.Add("SSET" + CStr(Rnd(1)))
       GpCode(0) = 0
      DataValue(0) = "Line"


       GpCode(1) = 2

    DataValue(1) = "z1,z2,z3"


   Mode = acSelectionSetAll
 ssetObj.Select Mode, , , GpCode, DataValue
上面可以选择块名为z1,z2,z3的所有块

请问:

如何以 OR 的关系分别选择??

 DataValue的值可否为空??

可否用一小结构??

GpCode(1) = -4
 DataValue(1) = "< or"

IF *** THEN

 GpCode(2) = 2
 DataValue(2) = "Z1"

END IF

IF *** THEN

 GpCode(3) = 2
 DataValue(3) = "Z2"

END IF

IF *** THEN

 GpCode(4) = 2
 DataValue(4) = "Z3"

END IF

GpCode(5) = -4
 DataValue(5) = " or >"


 

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

本版积分规则

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

GMT+8, 2024-11-27 04:41 , Processed in 0.167056 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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