宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取
CAD中的选择集过滤
一、选择集过滤时的使用方式如下:
Object 指使用SelectionSet这个方法适用的对象
1) object.Select Mode[, Point1][, Point2][, FilterType][, FilterData]
2) object.SelectOnScreen [FilterType][, FilterData]
3) object.SelectAtPoint Point, FilterType, FilterData
FilterType:Variant[变体](整数数组); 仅用于输入;(可选项) 指定使用的过滤器类型的 DXF 组码。
FilterData:Variant[变体](变体数组); 仅用于输入;(可选项) 过滤器的值。
二、DXF群组码共同群组码代码一览表
群码 |
说明 |
预设值 |
-4 |
过滤群组方式,例如 <AND 、AND>、<OR、OR>、<XOR、XOR>、<NOT、NOT> |
单一条件时可省略 |
-1 |
图元名称(会随每一个图档开启而有所不同) |
不可省略 |
0 |
图元类型,例如 “ARC”、 “LINE”、“CIRCLE”… |
不可省略 |
5 |
处理码 |
不可省略 |
6 |
线型名称(如果线型不为”BYLAYER”,此群码值会出现) |
BYLAYER |
8 |
图层名称 |
不可省略 |
48 |
线性比例(选择性) |
1.0 |
60 |
物件可见性, 0=可见, 1=不可见 |
0 |
62 |
颜色编号 (如果线型不为”BYLAYER”,此群群码会出現)当值为0時,即指BYLAYER,如果是负值即指该图层是关闭的(选择性) |
BYLAYER |
67 |
值为空或0时即指图元在模型空间,如果为1指在图形空间 |
0 |
三、过滤群组方式
– FilterType (DXF 群组码) = -4
过滤群组方式 |
內含项目 |
描述 |
运算法则 |
“<AND” … “AND>” |
1 或 多个 |
所有项目的交集 |
1+1=1, 1+0=0, 0+1=0, 0+0=0 |
“<OR” … “OR>” |
1 或多个 |
所有项目的并集 |
1+1=1, 1+0=1, 0+1=1, 0+0=0 |
“<XOR” … “XOR>” |
2个 |
两个项目的异或运算 |
1+1=0, 1+0=1, 0+1=1, 0+0=0 |
“<NOT” … “NOT>” |
1个 |
不包含此项目的值 |
NOT(1)=0,NOT(0)=1 |
四、范例:
1、过滤条件为图元为MTEXT
图元是MTEXT
FilterData |
MTEXT |
FilterType |
0 |
2、过滤条件为图元为CIRCLE或LINE
图元是CIRCLE OR 图元是LINE
FilterData |
<OR |
CIRCLE |
LINE |
OR> |
FilterType |
-4 |
0 |
0 |
-4 |
3、过滤条件为图元在DIM 图层(LAYER)中的CIRCLE或LINE
(图元是CIRCLE OR 图元是LINE) AND 图层位于DIM层
FilterData |
<AND |
<OR |
CIRCLE |
LINE |
OR> |
DIM |
AND> |
FilterType |
-4 |
-4 |
0 |
0 |
-4 |
8 |
-4 |
4、过滤的条件为图元为CIRCLE或LINE但图层(LAYER)不属于DIM层
(图元是CIRCLE OR 图元是LINE) AND NOT(图层位于DIM层)
FilterData |
<AND |
<OR |
CIRCLE |
LINE |
OR> |
<NOT |
DIM |
NOT> |
AND> |
FilterType |
-4 |
-4 |
0 |
0 |
-4 |
-4 |
8 |
-4 |
-4 |
最新评论