- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1选择集的处理
所谓选择集是指图形中选定的部分图元或所有图
元的集合。 Auto lisp提供了选择以下六种有关选
择集的处理函数
1) ssget-创建选择集
2)ssad---把图元加到选择集中
从选择集中删除图元
4) length-测定选择集中的图元数
5) shame--从选择集中获取图元名
6) ssmemb--测试图元是否为选择集成员
511创建选择集
调用格式1:(sget[方式[点1[点2])有如下形式
1)( ssget)不带任何参数,请求进行一般图元选择
2)( ssget(2035)-选择通过点“20,35”的图元。
3)( ssgetL)-选择最新加入数据库的图元
( ssget“P)--选择前一次已选择过的图元
5)( ssgetw(0)‘(55)-选择窗口内的图元
6)( ssgetc(0)(55)-选择窗口涉及的图元
7)( ssget“wp[点1[点2].)-多边形窗口方式选择
8)( ssget“cp”[点1[点2].)--多边形窗叉方式选择
9)( ssget“F”[点们[点2].)--折线方式选择
10)( ssget“×)--选择全部图元
调用格式2:( ssget X[过滤表]
例如:
( ssgetx”(O.“C|RCLE))-选择所有的圆。
( ssget“x”(8.“3)--选择层3上的所有图元
( ssget“x”(0.“ CIRCLE”)(8.3)(62.1)
选择层3上红颜色的圆。
说明
1)用ssgt函数只能选择主图元,而不能选择子图元。
2)选择集可以保存于 AutoLISP变量中。如
( setq s1( ssget“×”(0.LNE)(8.“3”)
3)选择集中的图元是唯一的。
4)当前图形中建立的选择集数量不能多于128个,如果
超过这个极限,则ssge函数将返回nl
过滤DXF码
组码意义
数据类型
应用
0
图元类型
字符串
(0.“ CIRCLE)
插入块名
字符串
(2.“ BLOCK)
3尺寸图元方式字符串
3.“ TOLERANCE)
线形名
字符串
6.“ CONTINUOUS”)
字型名
字符串
(7.“ STANDARD”)
层名
字符串
(8.“ BLOCK)
38
标高
实
(38.5.0)
39
厚度
实型
(39.8.0)
颜色号
整型
(62.1)
构造选择集举例:
( setq a1( ssget(0.“TEXT);选择文本加入选择集
setq a2(ssget ((0. LINE )
选择线图元加入选择集
( setq a3( ssget“L(.“C|RCLE));选择最近画的一个圆
( setq a4( ssgetP”(8.“1);选择前一个选择集中1层上
的图元
( setq a5( ssget(62·3);选择绿色图元加入选择集
( setq a6(sget“x(0.“ CIRCLE)(8.“2)(62.1)
选择2层上红色圆加入选择集
1)通配符模式
过滤器序列中指定的符号名称可包含通配符模式,常用
的通配符如
匹配任何单个字符
匹配任何单个字母
#
匹配任何单个数字
匹配除字母和数字之外的任何单个字符
匹配任何字符串,包括null串
匹配连字符范围内的字符,如[1-5]
通配符可单独使用,也可组合使用,其中最常用的是
和“?”。例如:
setq s( ssget“X
(8.“A*”));表示层
名第一个子母为A的所有层均被加入选择集。
(2)关系测试
等于
不等于
小于
大于
小于等于
大于等于
恒为真
*4
位与
位屏蔽
如:( setq s( ssget“X
CIRCLE”)(
40.20.0));所有半径大于20的圆加入选择集。
(3)逻辑分组
通过应用逻辑分组运算符,可以创建更为复杂的多层嵌
套关系测试。
逻辑分组运算符如下:
KAND AND
与运算,测试一个或多个DXF组
KOR OR
或运算,测试一个或多个DXF组
KXOR XOR
异或运算,测试两个DXF组
KNOT NOT
非运算,测试一个DXF组
例如:
( setq s( ssget“X
((-4.“OR”)(8
(8
)(-4
))
5.12操作选择集
1)(ssad[图元名][选择集]);向选择集中加入图元
建立空集—( setq sl(ssad)
建立只有一个图元的选择集
( setq s2( sadd[图元名])
2)( ssdel[图元名][选择集]);从选择集
文档评论(0)