问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ssget怎样选择所有的多线lisp语言里面……

发布网友 发布时间:2022-04-23 06:27

我来回答

1个回答

热心网友 时间:2023-10-21 14:44

(setq #kw (ssget "X" (list '(0 . "LWPOLYLINE") '(70 . 0))));这个是全选
;"X"表示全选; '(0 . "LWPOLYLINE");表示多段线; '(70 . 0);表示不封闭,'(70 . 1);表示封闭如果是
(setq #kw (ssget "X" (list '(0 . "LWPOLYLINE"))));所有的多段线全部选择包括封闭的不封闭的。以下是我搜集到的ssget用法给你参考:
;可以模拟带过滤的entsel
;选择拾取框内的实体,选择不到就结束
(defun c:test1()
(setq ss (ssget ":E:S" '((0 . "line"))))
(command "erase" ss "")
)

;?
(defun c:test2()
(setq ss (ssget ":N" '((0 . "insert"))))
(command "erase" ss "")
)

;会累加选择的实体同一个块选择两次个数就会乘以2(看命令行)
;去掉":D"你试试结果(看命令行)
(defun c:test3()
(setq ss (ssget ":D" '((0 . "insert"))))
(sslength ss)
)

;只选择一次自动结束选择
;用处省了回车
(defun c:test4()
(setq ss (ssget ":S" '((0 . "line"))))
(command "erase" ss "")
)

;会提示有几个在锁定图上 并且不选择在锁定图层的实体(看命令行)
;去掉":L"你试试结果(看命令行)
(defun c:test5()
(setq ss (ssget ":L" '((0 . "insert"))))
(sslength ss)
)

;上次的的选择集 (这个好理解)
(defun c:test6()
(setq ss (ssget "P" '((0 . "insert"))))
(sslength ss)
)

;?
(defun c:test7()
(setq ss (ssget "+." '((0 . "insert"))))
(sslength ss)
)

;可以模拟带过滤的entsel
;选择拾取框内的实体,选择不到就不结束,选择到不右键也不结束注意和":E:S"的区别
(defun c:test8()
(setq ss (ssget ":E" '((0 . "insert"))))
(sslength ss)
)

;自动选择所有的满足条件的实体(好理解)冻结的也可选择到
(defun c:test9()
(setq ss (ssget "X" '((0 . "insert"))))
(sslength ss)
)

;自动选择不包括冻结的满足条件的实体(感谢masterlong)
(defun c:test10()
(setq ss (ssget "A" '((0 . "insert"))))
(sslength ss)
)

;只选择含数字的文本(好理解)
(defun c:test11()
(setq ss (ssget '((1 . "*[0-9]*"))))
)

;只选择含数字的文本( 同上)(感谢caoyin提供)
(defun c:test11()
(setq ss (ssget '((1 . "*#*"))))
)

;只选择数字文本
(defun c:test12()
(setq ss (ssget '((0 . "text,mtext") (1 . "~*[~-.0-9]*" ))) )
)

;选择不含数字的文本
(defun c:test13()
(setq ss (ssget '((-4 . "<NOT")
(1 . "*[0-9]*")
(-4 . "NOT>"))
)))

;选择不含数字的文本(同上)(caoyin 提供的)
(defun c:test13()
(setq ss(ssget '((1 . "~*#*"))))
)

;只选择含字母的文本(好理解)
(defun c:test14()
(setq ss (ssget '((1 . "*[a-A-z-Z]*"))))
)

;只选择字母文本
(defun c:test15()
(setq ss (ssget '((0 . "text,mtext") (1 . "~*[~a-A-z-Z]*" ))))
)

;只选择不含字母的文本
(defun c:test16()
(setq ss (ssget '((-4 . "<NOT")
(1 . "*[a-A-z-Z]*")
(-4 . "NOT>"))))
)

;只选择不含字母的文本(同上)
(defun c:test16()
(setq ss (ssget '((1 . "~*[a-A-z-Z]*"))))
)

;选择半径大于800小于8000的圆
(defun c:test17()
(setq ss (ssget '((-4 . "<and")
(0 . "circle")
(-4 . ">")(40 . 800)
(-4 . "<")(40 . 8000)
(-4 . "and>"))
))
)

;选择图层表("图层1" "图层2" "图层3" "图层4" ---------------有很多个图层)内的线(这个要感谢网友eachy,感谢学院派xyp1964进行了优化)
(defun c:test18()
(setq la '("1" "2" "3" "4")
ss (ssget (list '(0 . "line") (cons 8 (apply 'strcat (mapcar '(lambda (x) (strcat x ",")) la)))))
))

;选择经过某点的实体,
(defun c:test19()
(setq pt (getpoint))
(setq ss (ssget “c” pt pt))
)

;选择0层以外的线
(defun c:test20()
(setq ss (ssget '((-4 . "<AND")
(0 . "line")
(-4 . "<NOT")
(8 . "0")
(-4 . "NOT>")
(-4 . "AND>"))
)))

;选择0层以外的线(同上)(感谢caoyin提供)
(defun c:test20()
(setq ss (ssget '((0 . "line")(8 . "~0"))))
)

;选择图层名不含字母以外的线(根据caoyin提供几个实例进行了重新组合还可以组合出来很多)
(defun c:test21()
(setq ss (ssget '((0 . "line")(8 . "~*[a-A-z-Z]*"))))
)

;选择带扩展数据的实体
(defun c:test22()
(setq ss (ssget '((0."CIRCLE") (-3 ("APPNAME")))))
)

;窗选择 包含在框内的被选择 相交的不选择和"c"比较一下
;屏幕外的选择不到
(defun c:test23()
(setq pt1 (getpoint))
(setq pt3 (getcorner pt1))
(setq ss(ssget "w" pt1 pt3 '((0 . "insert"))))
;"wp"后面换成点集 (setq ss(ssget "wp" ptl '((0 . "insert"))))
)

;框选择 包含在框内的及和框相交的被选择 和"w"比较一下
;屏幕外的选择不到
(defun c:test24()
(setq pt1 (getpoint))
(setq pt3 (getcorner pt1))
(setq ss(ssget "c" pt1 pt3 '((0 . "insert"))))
;"cp"后面换成点集 (setq ss(ssget "cp" ptl '((0 . "insert"))))
)

;线相交的线删除(屏幕外的选择不到郁闷所以要用zoom "ob")
(defun c:test25()
(setq ptl nil)
(while (setq pt (getpoint))
(setq ptl (cons pt ptl))
)
(setq ss (ssget "f" ptl '((0 . "line"))))
(command "erase" ss "")
)
;删除点(0 0)和点(1000 1000)形成的矩形内的实体(在屏幕外面的也可以),(感谢masterlong)
(defun c:test26()
(setq pt1 '(0 0)) ;窗口左下角点
(setq pt3 '(1000 1000)) ;窗口右上角点
(setq ss (ssget "x" (list
'(-4 . "<and")
'(0 . "insert")
'(-4 . ">,>,*")
(cons 10 pt1)
'(-4 . "<,<,*")
(cons 10 pt3)
'(-4 . "and>")
)))
(command "erase" ss "")
)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... 目前企业推广的平台有哪些? 谁使用安凯微电子的AK1050C-ARM7/ARM9/ARM11专区 CAD制图中如何把多线连成一条线 企业网络推广技巧 企业公司有哪些适合推广的方式? 学习C++多线程和C++网络编程需要看哪些书 C/C++与java在多线程编程上的区别 企业网络推广有哪些方法? C++多线程有必要加volatile么 常见的企业推广方式是什么? 企业如何进行网络推广? CAD多线怎么设置,cad多线命令快捷键 c++11多线程 写了#include&lt;thread&gt; 但是编译却报错没加? 如何给企业做推广? C11 多线程有关问题?实在是纠结了很久! 有哪些平台有适合企业做推广的?需要做seo这块。 企业网站推广有哪些渠道方法? 企业网站推广有哪些方法啊?? 企业网站推广方法有哪些? 如何在网上宣传企业?如何做企业推广? 如何做企业网站推广 一个C语言多线程编译的时候 ,提示出错在16行:expected primary-expression before ‘void’ 没弄懂 现在小企业有哪些推广方法和渠道? 【求助】linux下的C语言多线程,怎样监视键盘上的输入? OPPO的OPPOAX11可以用type-c数据线吗? 显卡性能:支持Directx 11是什么意思? 阻燃电缆c级什么意思 创建控制台进程,在此进程中创建n个线程来模拟生产者或消费者,开发工具为C语言,今晚11点前发我 平面内有11个点,由它们连成48条不同的直线,由这些点可连成多少个三角形? 办港澳通行证需要本人去吗?都需要什么手续? 办理港澳通行证一定要本人回到当地公安局吗?? 港澳通行证必须本人去办吗 办理港澳通行证必须本人亲自办理吗 港澳证签证要本人吗 港澳通行证必须要本人去办吗?代办不行吗? 福州港澳通行证办理需要本人去吗 港澳通行证办理需要本人去吗? 港澳通行证怎么办理,是不是要本人亲自办理,能不能找人代办 u盘文件恢复不了怎么办 怎样使U盘被删除的文件无论如何都不能恢复