关于向筛选器列表条件添加复杂性 (VBA/ActiveX)
指定多个选择条件时,AutoCAD 假定所选对象必须满足每个条件。但是您可以通过其他方式限定您的标准。 对于数值项,可以指定关系运算(例如,圆的半径必须大于或等于 5.0)。对于所有项目,您可以指定逻辑运算(例如,或 )。TextMtext 使用 -4 DXF 代码指示筛选器规范中的关系运算符。将运算符指定为字符串。允许的关系运算符如下表所示。
筛选器列表中的逻辑运算符也由 -4 组代码指示,运算符是字符串,但运算符必须成对。开始运算符前面有一个小于符号 (<),结束运算符后面跟着一个大于符号 (>)。下表列出了选择集筛选中允许的逻辑运算符。
选择半径大于或等于 5.0 的圆下面的代码指定所选对象必须是半径大于或等于 5.0 的圆: Sub Ch4_FilterRelational() Dim sstext As AcadSelectionSet Dim FilterType(2) As Integer Dim FilterData(2) As Variant Set sstext = ThisDrawing.SelectionSets.Add("SS5") FilterType(0) = 0 FilterData(0) = "Circle" FilterType(1) = -4 FilterData(1) = ">=" FilterType(2) = 40 FilterData(2) = 5# sstext.SelectOnScreen FilterType, FilterData End Sub 选择“文本”或“多边文字”以下示例指定可以选择 or 对象:TextMtext Sub Ch4_FilterOrTest() Dim sstext As AcadSelectionSet Dim FilterType(3) As Integer Dim FilterData(3) As Variant Set sstext = ThisDrawing.SelectionSets.Add("SS6") FilterType(0) = -4 FilterData(0) = "<or" FilterType(1) = 0 FilterData(1) = "TEXT" FilterType(2) = 0 FilterData(2) = "MTEXT" FilterType(3) = -4 FilterData(3) = "or>" sstext.SelectOnScreen FilterType, FilterData End Sub |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 06:44
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.