【TB原创】自定义快速选择,简单实用,事半功倍
tengteb
tengteb Lv.3
2013年08月21日 09:32:19
只看楼主

本帖最后由 tengteb 于 2013-8-21 09:33 编辑 ;;;接口函数:快速选择--根据选中的模板对象,过滤所需的对象。;;; 参数说明:new--为nil时,可先选中需要过滤对象再选择模板对象(最后选中的对象不会显示夹点),;;; 否则,选中模板对象后,重新选择需要过滤对象;;;; ids --DXF组码列表,由需与模板对象匹配的组码组成。;;; 关于DXF组码,可查看CAD自带的帮助文档acad_dxf.chm。

本帖最后由 tengteb 于 2013-8-21 09:33 编辑



;;;接口函数:快速选择--根据选中的模板对象,过滤所需的对象。
;;; 参数说明:new--为nil时,可先选中需要过滤对象再选择模板对象(最后选中的对象不会显示夹点),
;;; 否则,选中模板对象后,重新选择需要过滤对象;
;;; ids --DXF组码列表,由需与模板对象匹配的组码组成。
;;; 关于DXF组码,可查看CAD自带的帮助文档acad_dxf.chm。
(defun TB:QS (new ids / GetPat filter)
(defun GetPat (ids / SS en lst)
(and
(setq SS (entsel "\n请选择模板对象:"))
(setq en (entget (car SS))
lst (vl-remove-if-not '(lambda (e) (member (car e) ids)) en)
)
) ;and
lst
) ;defun
(and new (sssetfirst nil nil)) ;new为T时,重新选择
(and
(setq filter (GetPat ids))
(sssetfirst nil (ssget filter))
) ;and
(princ)
)

;;;----------------------------------------------------------------------------------------
;;;应用实例。函数名C:XX中XX可自定义,且XX为调用此函数的命令。
;;;各位可以举一反三,定义自己所需的快速选择的命令。
;;;若觉得本函数好用,请回帖支持。以后我还会发布更多实用的函数。

(defun C:Q () ;类型 图层 颜色[ 内容(文字) 块名(块) 半径/高度(圆/文字) 顶点数(多段线)]
(TB:QS T '(0 8 62 1 2 40 90))
)
(defun C:QT () ;图元类型
(TB:QS T '(0))
)
(defun C:QD () ;图层
(TB:QS T '(8))
)
(defun C:QC () ;颜色
(TB:QS T '(62))
)
(defun C:QDT () ;图元类型 线型
(TB:QS T '(0 6))
)
(defun C:QTT () ;文字内容
(TB:QS T '(1))
)
(defun C:QTH () ;文字高度
(TB:QS T '(40))
)

;;; 另外,本人编写了一个去除AutoCAD教育版打印戳记的软件,感兴趣的朋友可以去我的博客看一看:tengte.blogbus.com

免费打赏
qq251089432
2014年05月21日 23:01:06
2楼
朋友,你这个太高深了
我看过之后没有看明白要怎么用这些东西啊,能不能说下 这个函数要怎么去用啊?
回复
tengteb
2015年04月30日 11:11:23
3楼
qq251089432 发表于 2014-5-21 23:01 朋友,你这个太高深了 我看过之后没有看明白要怎么用这些东西啊,能不能说下 这个函数要怎么去用啊?标题写得很清楚了,快速选择,先选择一个样板,然后按这个样板选择其它的
回复

相关推荐

APP内打开