【Visual Lisp】图元选择集专题
图元选择集专题
;;★★★01.选择集操作★★★
(setq ss (ssadd));;创建一个空选择集
(ssadd (car(entsel)) ss);;将点取的图元添加到ss选择集中,可以不用setq语句图元便加入ss所指向的选择集
(ssdel en1 ss);;将en1图元从ss中删除
(ssmemb (car (entsel)) ss);;测试图元名所表示的对象是否在选择集中,在则返回图元名,否则返回nil
(ssname ss 0);;根据索引获取选择集中的图元名.使用repeat或者while来遍历选择集
(sslength ss);;返回选择集元素个数
注意:用ssadd或者其他方式创建了选择集使用完后要记得清空,否则下次创建变量名相同的选择集可能包含之前的选择集的图元。特别注意循环的情况。所以用完后记得(setq ss nil)
;;★★★02.ssget专题★★★
(ssget);;鼠标去框选窗选图元创建选择集
(ssget '((0 . "TEXT") (62 . 3)));;(ssget 过滤表)的形式,图元必须满足过滤表中所有条件才可被选中。过滤表使用 '修饰表示时不能使用变量,可以使用(list (cons 0 etype) (cons 62 color))的形式来表示,etype和color为变量
(ssget "-P");;此方法同(ssget)只是此处可以在执行前先选好图元然后执行此命令后创建的就是之前选中图元的选择集[此方法用的多]
(ssget "P");;此方法是创建最近一次选中的图元组成的选择集,也就是说当下没有选中图元执行命令后将创建之前有选中过图元组成的选择集,此方法不用鼠标去选。
(ssget "C" pt1 pt2 [过滤器表]);;创建在以pt1 pt2为对角线的矩形或者接触这个矩形范围的图元组成的选择集(pt1和pt2为矩形的对角点)。过滤表同上
(ssget "CP" pt_list [过滤器表]);;pt_list为点组成的表(list pt1 pt2 pt3)也就是由这些点所围多边形内进行窗交然后根据过滤表来创建选择集
(ssget "W" pt1 pt2 [过滤器表]);;创建在以pt1 pt2为对角线的矩形范围内图元组成的选择集
(ssget "WP" pt_list [过滤器表]);;pt_list为点组成的表(list pt1 pt2 pt3)也就是由这些点所围多边形内进行窗选然后根据过滤表来创建选择集
(ssget ":E" [过滤器表]);;相当于用entsel去一个一个点选对象,如果没有点选到也继续提示点选直到右键。而entsel没点选到则返回nil
(ssget ":S" [过滤器表]);;只允许在图中选择一次。生成满足过滤表的这一次选择的图元组成的选择集
(ssget "X" [过滤器表]);;在CAD中所有满足过滤表的图元组成的表(不对块中的处理)
;;要点
;;01.在使用ssget和ssadd创建选择集时我们所设定的变量仅仅是指向这个选择集,选择集修改后所有指向该选择集的变量代表的选择集都跟着修改比如(setq ss1 (ssadd)) (setq ss2 ss1) (ssadd en1 ss1)在这里ss1和ss2是完全等价的,通过用ss1修改选择集,ss2也一样修改,注意等价关系。
;;02.[过滤器表]的两种形式可以是用 '修饰(内部不能用变量) 也可以用(list (cons a b) (cons c d))的形式
;;03.[过滤器表]内的-4组合
;;或:'((-4 . "<OR")(0 . "LINE") (0 . "TEXT")(-4 . "OR>"))
;;且:'((-4 . "<AND")(0 . "TEXT") (62 . 3)(-4 . "AND>"))
;;非:not格式同上
;;异或:xor 两者取其一
;;关系运算:'((0 . "CIRCLE") (-4 .">=") (40 . 2.0))过滤出半径大于等于2的圆。其它运算符同格式(注意关系运算符用双引号)
【Visual Lisp】图元选择集专题的更多相关文章
- 【Visual Lisp】人机交互与数据处理(表除外)-lisp
;;本专题所讲述的内容是人机交互以及常规数据处理技术;;★★★01.人机交互★★★;;△△△键盘输入交互△△△(getint "请输入整数");;从键盘输入整数,如果不是整数则重复 ...
- 在Visual Lisp中处理自动化错误
Handling Automation errors in Visual LISP 翻译自原文Kean's blog:http://through-the-interface.typepad.com/ ...
- 【 D3.js 选择集与数据详解 — 5 】 处理模板的应用
在[选择集与数据 - 4]一文中,介绍了一个update.enter.exit的处理模板,这个模板很常用,本文将通过一个例子来讲解其使用方法. 1. 模板 复习一下上一章提到的模板. //绑定数据后, ...
- 【 D3.js 选择集与数据详解 — 4 】 enter和exit的处理方法以及处理模板
绑定数据之后,选择集分为三部分:update.enter.exit.这三部分的处理办法是什么呢?本文将讲解其处理方法,以及一个常用的处理模板. 1. enter的处理方法 如果没有足够的元素,那么处理 ...
- 【 D3.js 选择集与数据详解 — 3 】 绑定数据的顺序
data() 函数有两个参数,第一个是被绑定数据,第二个参数用于指定绑定的顺序.在数据需要更新的时候常常会用到. 默认的情况下,data()函数是按照索引号依次绑定数组各项的.第0个元素绑定数组的第0 ...
- 【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据
D3 中绑定数据大多是由 data() 函数来完成的,它是怎样工作的,它与 datum() 有什么区别呢? data()函数能够将数组各项分别绑定到各元素上,而且能够设置绑定的规则.data()还能够 ...
- 【 D3.js 选择集与数据详解 — 1 】 使用datum()绑定数据
选择集和数据的关系是 D3 最重要的基础,在[入门 - 第 7 章]时进行过些许讲解,对于要掌握好 D3 是远远不够的.故此开设一个新的分类,专门讨论选择集与数据的关系,包括数据绑定的使用和工作原理, ...
- Leetcode之并查集专题-765. 情侣牵手(Couples Holding Hands)
Leetcode之并查集专题-765. 情侣牵手(Couples Holding Hands) N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并 ...
- 【Visual Lisp】Visual Lisp属性与方法
说明:Visual Lisp属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...
随机推荐
- CSS z-index 属性
定义和用法 z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. 注释:元素可拥有负的 z-index 属性值. 注释:Z-index 仅能在定位元素上奏 ...
- 史航416第八次作业&总结
一.知识点总结: 1.数组的输入,输出及对整个数组所有元素进行操作通常都用循环结构实现. 2.可以只给部分元素赋初值.当{ }中值的个数少于元素个数时,只给前面部分元素赋值. 3.只能给元素逐个赋值, ...
- SQLServer2008R2 error 40解决方法
实际遇到的问题,以下为搜到的解决方案,亲测可用 转自 http://blog.csdn.net/laga516/article/details/7696577 最近一直在配置服务器, 这当中最头疼的就 ...
- java 零碎知识点
1. 字符串有整型的相互转换 1 2 String a = String.valueOf(2); //integer to numeric string int i = Integer.pars ...
- android中的requestFocus标签
<requestFocus />标签用于指定屏幕中的焦点View 用法:置于Views标签内部 ex: <EditText android:id=" ...
- 05-Java中的String类
程序设计思路: 首先目标是使输入的字符串加上某个数变成另一个字符串,从而相当于对字符串进行加密. 第一步输入一个字符串String类型: 第二步把这个字符串转变成字符数组: 第三步让这个数组的每一个字 ...
- 对CPU做下性能测试
任务管理器里把pi.exe优先级调到“高” I5-4308U (2.80Ghz) PI-1M最佳成绩11.719秒(MACBOOK PRO 13inch,插电,电源选择高性能模式) G202 ...
- js进阶
js在实例化对象后,可以对这个对象增加属性和属性值,并且还可以通过delete一元操作符来删除对象的属性. var o = new Object(); o.name = "langsin&q ...
- 中兴MF667S WCDMA猫Linux拨号笔记
公司最近有个国外有个项目需要用到WCDMA猫,网上简单选型了一下决定使用ZTE的型号MF667S的猫,本以为在Linux下拨号是比较简单的(之前有两款3G猫的调试经验),估计半天能搞定,结果折腾了一周 ...
- 使用Axis2 插件 报错"An error occurred while completing process -java.lang.reflect.InvocationTargetException"
参考 http://blog.csdn.net/sunitjy/article/details/6793654