[转载]ssget 用法详解 by yxp
总结得很好的ssget用法.....如此好文,必须转载.
原文地址: http://blog.csdn.net/yxp_xa/article/details/72229202
ssget 用法详解 by yxp 2017/04/10
ALisp 编程时 ssget 是无处不在的,灵活的选择集构建方式,可以轻松的处理图形,体现了 Lisp 相对其他语言的优点。
然而强大的 ssget 估计很多人都不清楚用法,包括各种教程对 ssget 的描述都不够完善,本文试图总结 ssget 的用法,不足之处请读者指正。
语法:
(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])
ssget 的参数均为可选参数,需要注意的是可选参数之间的组合条件。
以下语法表示中 <parameter>
尖括号代表必选,[parameter]
方括号代表可选。
一、选择集的窗口参数
[sel-method]
字符串类型,不区分大小写,指定一个选择方法。[pt1 [pt2]]
表类型,由三个数字的点参数表,表示 xyz 坐标,也可以是仅包括xy 的坐标。[pt-list]
表类型,由点参数表组成的表。
C 窗交(反选)
如果指定了该参数,则必须跟一对点创建一个矩形窗口,与矩形窗口相交的对象均被加入选择集。
参数语法: (ssget "c" <pt1> <pt2> [filter-list])
此时,[pt-list] 参数不能出现,否则 ssget 将会返回一个错误提示:错误的点参数
示例:
(setq pt1 (getpoint "First Pt:"))
(setq pt2 (getpoint "Second Pt:"))
(setq ss (ssget "c" pt1 pt2))
W 窗口(正选)
与 C 参数语法及用法类似,但功能不同,只有在矩形窗口内完整的对象才会被加入选择集。
参数语法: (ssget "w" <pt1> <pt2> [filter-list])
参数前加下划线 "_w"
可以使代码在不同版本的CAD平台下兼容,建议写上。
CP 圈交(多边形反选)
如果指定了该参数,则必须用构成多边形的点表响应,与多边形相交的对象被加入选择集。
参数语法: (ssget "CP" <pt-list> [filter-list])
此时点参数 [pt1] [pt2]
不能出现,而且,CP 参数依赖 <pt-list>
的顺序来构成一个多边形。
例如四个点按顺序连接为一个8字型,而不是一个矩形,ssget 将返回一个空选择集,即使对象与窗口相交。
如果参数为少于3个点的表,也将返回一个 nil
。
示例:
(setq pt1 (getpoint "Piont1:"))
(setq pt2 (getpoint "Piont2:"))
(setq pt3 (getpoint "Piont3:"))
(setq pt4 (getpoint "Piont4:"))
(setq ss (ssget "c" (list pt1 pt2 pt4 pt4)))
WP 圈围(多边形正选)
与 CP 参数语法及用法类似,但只有被多边形窗口包围的对象才会被加入选择集。
参数语法: (ssget "wp" <pt-list> [filter-list])
F 栏选
将参数点表连接为一条折线,与折线相交的对象被加入选择集。
参数语法: (ssget "f" <pt-list> [filter-list])
pt-list 最少由2个点组成表,CP/WP 参数最少需要 3 个点。
P 前一批创建的图形
包括 CAD 命令或 LISP 程序创建的图形对象。
参数语法: (ssget "p" [filter-list])
P 参数不能和 [pt1 [pt2]] [pt-list]
任何一个点参数组合,否则将返回一个错误,有的 CAD 版本会返回 nil
当分解(EXPLODE)一个 CAD 图形时,p 方法特别有用,可以一次性建立分解后的所有对象选择集。
L 最后一个创建的对象
包括 CAD 命令或 LISP 程序创建的对象,注意和 P 参数的区别。
参数语法: (ssget "l" [filter-list])
在获取最后一个对象的图元名时,以下代码是等价的,但是后者不能提供直接过滤功能。
(ssname (ssget "L") 0) == (entlast)
I 隐含窗口选择
参数语法: (ssget "i" [filter-list])
CAD 命令有两种执行方式,第一种先命令后选择,第二种先选择后命令。所以在 Lisp 中也允许先选择后命令,
而且这方式可以通过系统变量 pickfirst 来关闭(值为 0),此时 I 参数失效,(ssget "i")
将返回 nil。
选择对象后,可以用 (sssetfirst nil)
取消选择集的亮显状态。
X 整个文件
在当前打开的CAD文件中选择所有对象,包括关闭、冻结图层中的图元和可见屏幕外的图元,不分大小写。
参数语法: (ssget "x" [filter-list])
X 用法与 A 用法等价,(ssget "A")
也是选择所有对象。
:E 拾取框
用拾取框选择对象,此时 ssget 将不再拉出一个矩形窗口,直到点右键结束选择。
参数语法: (ssget ":E" [filter-list])
与 :E 对应的 :N 参数为只能拉出一个矩形窗口选择,而不能通过点选拾取对象。
:S 仅允许单一选择集
使用:s参数时,ssget 将点选对象一次就会结束,无论是否选中对象,未选中则返回 nil,可节省一次回车确认。
参数语法: (ssget ":S" [filter-list])
说明: ":S"
参数和 ":E"
可以同时使用,例如: (ssget "_:S:e")
以下参数可以组合使用, "+"
或 "-"
,例如:(ssget "_:S+D")
[转载]ssget 用法详解 by yxp的更多相关文章
- 转载 LayoutInflater的inflate函数用法详解
http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...
- Java 5 的新标准语法和用法详解集锦
Java 5 的新标准语法和用法详解集锦 Java 5 的新标准语法和用法详解集锦 (需要在首选项-java-complier-compiler compliance level中设置为java5.0 ...
- Delphi TStringHelper用法详解
Delphi TStringHelper用法详解 (2013-08-27 22:45:42) 转载▼ 标签: delphi_xe5 it 分类: Delphi Delphi XE4的TStringHe ...
- Java 注解用法详解——@SuppressWarnings
转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解——@SuppressWarnings 一.前言 编码时我 ...
- Hadoop生态圈-zookeeper的API用法详解
Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...
- C语言对文件的操作函数用法详解2
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
- C语言对文件的操作函数用法详解1
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
- scrollTop、offsetHeight和offsetTop等属性用法详解--转转转
scrollTop.offsetHeight和offsetTop等属性用法详解: 标题中的几个相关相关属性在网页中有这大量的应用,尤其是在运动框架中,但是由于有些属性相互之间的概念比较混杂或者浏览器兼 ...
- [转] C#-using用法详解
转载自 WanderOCN的文章 C#-using用法详解 using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型. (二).作为语句,用于定义一个 ...
随机推荐
- mssql server修改数据库文件位置 此种方法暂未测试成功
--查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...
- C++中不可重载5个运算符
C++中不可重载的5个运算符 C++中的大部分运算符都是可以重载的,只有以下5个运算符不可以重载,他们是: 1 .(点运算符)通常用于去对象的成员,但是->(箭头运算符),是可以重载的 2 ...
- Bootstrap教程目录
1.Bootstrap 简介(Web前端CSS框架) 2.Bootstrap 学习资料 3.Bootstrap 入门 4.Bootstrap 概览 5.Bootstrap 栅格系统 6.Bootstr ...
- 通过class类获取类的成员变量和构造函数信息
- [luogu3369/bzoj3224]普通平衡树(splay模板、平衡树初探)
解题关键:splay模板题整理. 如何不加入极大极小值?(待思考) #include<cstdio> #include<cstring> #include<algorit ...
- Linux 程序和进程的关系
查看进程命令 ps ps -elf|grep init|grep -v grep 查看init进程ID号:ps aux |grep init |grep -v grep; ps aux 会把系统所有 ...
- 【摘自大型网站技术架构书】负载均衡时session如何共享
由于负载均衡服务器可能会将请求分发到集群任何一台服务器上,所以保证每次请求能够获得正确的session比单机时复杂. 集群环境下,session管理的主要几种手段 1.session复制 sessio ...
- Luogu 4841 城市规划
BZOJ 3456 权限题 太菜了推不出式子 我们设$f(n)$表示$n$个点的无向连通图的数量,那么有 $$f(n) = 2^{\binom{n}{2}} - \sum_{i = 1}^{n - 1 ...
- dynamic和匿名类和var的混合使用 没提示照样点
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using Syste ...
- 用JQuery获取输入框中的光标位置
(function ($, undefined) { $.fn.getCursorPosition = function () { var el = $(this).get(0); var pos = ...
http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...
Java 5 的新标准语法和用法详解集锦 Java 5 的新标准语法和用法详解集锦 (需要在首选项-java-complier-compiler compliance level中设置为java5.0 ...
Delphi TStringHelper用法详解 (2013-08-27 22:45:42) 转载▼ 标签: delphi_xe5 it 分类: Delphi Delphi XE4的TStringHe ...
转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解——@SuppressWarnings 一.前言 编码时我 ...
Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
scrollTop.offsetHeight和offsetTop等属性用法详解: 标题中的几个相关相关属性在网页中有这大量的应用,尤其是在运动框架中,但是由于有些属性相互之间的概念比较混杂或者浏览器兼 ...
转载自 WanderOCN的文章 C#-using用法详解 using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型. (二).作为语句,用于定义一个 ...
--查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...
C++中不可重载的5个运算符 C++中的大部分运算符都是可以重载的,只有以下5个运算符不可以重载,他们是: 1 .(点运算符)通常用于去对象的成员,但是->(箭头运算符),是可以重载的 2 ...
1.Bootstrap 简介(Web前端CSS框架) 2.Bootstrap 学习资料 3.Bootstrap 入门 4.Bootstrap 概览 5.Bootstrap 栅格系统 6.Bootstr ...
解题关键:splay模板题整理. 如何不加入极大极小值?(待思考) #include<cstdio> #include<cstring> #include<algorit ...
查看进程命令 ps ps -elf|grep init|grep -v grep 查看init进程ID号:ps aux |grep init |grep -v grep; ps aux 会把系统所有 ...
由于负载均衡服务器可能会将请求分发到集群任何一台服务器上,所以保证每次请求能够获得正确的session比单机时复杂. 集群环境下,session管理的主要几种手段 1.session复制 sessio ...
BZOJ 3456 权限题 太菜了推不出式子 我们设$f(n)$表示$n$个点的无向连通图的数量,那么有 $$f(n) = 2^{\binom{n}{2}} - \sum_{i = 1}^{n - 1 ...
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using Syste ...
(function ($, undefined) { $.fn.getCursorPosition = function () { var el = $(this).get(0); var pos = ...