【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属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...
随机推荐
- iOS高效开发必备的10款Objective-C类库
http://blog.csdn.net/yhawaii/article/details/7392988
- Oracle 更新表(另一张表)
Update a set(a.province,a.city)= (select province,city from b where b.mobile=a.mobile)
- ajax请求封装
var xmlHttp; var ajaxRequest = function (params) { xmlHttp ={}; this.url = params.url; this.method = ...
- 解决程序出现“terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)”的问题
最近跑程序时出现了这么一个问题: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_al ...
- JavaScrip之对象与继承
这章主要学习对象.原型.原型链和继承,比较核心,所以单独整理这一章的内容. 理解对象:一组名值对,值可以是数据或函数. 属性类型:1数据属性:包含一个数据值的位置.在这个位置可以读取和写入值,4个描述 ...
- 使用guava进行对字符串的加锁
java的synchronized关键字是堆某对象加锁,但是我们当需要对某个字符串加锁怎么办 比如对同一个订单只能有一个操作,但是对其他订单的操作不影响 使用 guava包下的 Interner 类 ...
- 使用spring-data-solr做solr客户端
solr的客户端基本上只有一个,那就是solrj,spring-data-solr是在solrj的基础上做的封装,使统一成spring-data的风格 官方网站: http://projects.sp ...
- redis cluster java client jedisCluster spring集成方法
1.使用jedis的原生JedisCluster spring的applicationContext.xml配置redis的连接.连接池.jedisCluster Bean <bean id=& ...
- ASPNET 导出EXCEL表
其实网上有很多关于Excel的例子,但是不是很好,他们的代码没有很全,读的起来还很晦涩.经过这几天的摸索,终于可以完成我想要导出报表Excel的效果了.下面是我的效果图. 一.前台的页面图 GridV ...
- 弄个知乎的粒子动态背景_实践particles.js
好久没登录知乎,发现他们的登录页面粒子动态效果蛮炫的,查一下代码用了Particles.js基于Canvas画布创建粒子颗粒效果. 上图 上图: 感觉有比格,就照着弄了一个,玩玩. githu ...