注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小萝卜头的天空

博主:蔡建伟 QQ:95818608 QQ群:82109567

 
 
 

日志

 
 

SSGET 应用例子摘取  

2016-11-04 13:07:30|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

;;;以下资料来是互联网. 稍稍修复括号和引号缺失。

(setq SS (ssget ":S" '((0 . "LINE")))) ;只选取一次直线(省约回车)
(setq SS (ssget "X" '((0 . "LINE")))) ;自动选取直线,包含冻结的直线
(setq SS (ssget "A" '((0 . "LINE")))) ;自动选取直线,不包含冻结的直线
(setq SS (ssget '((1 . "*[0-9]*")))) ;只选取含数字的文本
(setq SS (ssget '((1 . "*#*")))) ;只选取含数字的文本
(setq SS (ssget '((0 . "TEXT") (1 . "~*[~`--9]*")))) ;只选取数字文本
(ssget
  '((0 . "TEXT") (-4 . "") (1 . "*[0-9]*") (-4 . "NOT>"))
) ;只选择不是数字的文字
(ssget '((0 . "TEXT") (1 . "~*#*"))) ;只选择不是数字的文字
(setq SS (ssget '((0 . "TEXT") (1 . "#,1#,2#,3#,4#,50"))))
;选取1—50的数字文本
(setq SS (ssget '((0 . "*TEXT") (1 . "*(*,*)*,*(*,**)**"))))
;选取含括号的文本
(setq SS (ssget '((1 . "*[a-A-z-Z]*")))) ;只选取字母
(setq SS (ssget '((0 . "~INSERT")))) ;选取不含块的对象
(setq SS (ssget (list '(0 . "CIRCLE") (cons 40 RR))))
;按半径的大小选取圆
(setq SS (ssget ":E:S" '((0 . "LINE"))));选取拾取框内的直线,选取不到就结束
(setq SS (ssget ":E" '((0 . "LINE")))) ;选取拾取框内的直线,选取不到就不结束,直到按右键
(setq SS (ssget ":N" '((0 . "LINE")))) ;只有通过窗口、窗交点拾取
(setq SS (ssget ":D" '((0 . "LINE")))) ;会累加选取的直线,同一条直线,选取两次个数就会乘以2,3次则3.....
(setq SS (ssget ":L" '((0 . "LINE")))) ;提示有几个在锁定图上,选取没有的锁定的直线
(setq SS (ssget "P" '((0 . "LINE")))) ;上次的选择集
(setq SS (ssget '((0 . "LINE") (8 . "~0")))) ;选取0层以外的线
(setq SS (ssget '((0 . "LINE") (8 . "~*[a-A-z-Z]*"))))
;选取图层名不含字母以外的线
(setq SS (ssget '((0. "CIRCLE") (-3 ("APPNAME")))))
;选取带扩展数据的实体(圆)
;得到矩形P1 P2点框内的文字,包含在框内的被选取 相交的不选取,屏幕外的选取不到,WP点集
(setq SS (ssget "W" PT1 PT3 '((0 . "*TEXT"))))
;得到矩形P1 P2点框内的文字,包含在框内的及和框相交的被选取,屏幕外的选取不到,CP点集
(setq SS (ssget "C" PT1 PT3 '((0 . "*TEXT"))))
;线相交的线删除(屏幕外的选取不到郁闷所以要用ZOOM "OB")
(defun C:XX (/ PT PTL SS)
  (setq PTL NIL)
  (while (setq PT (getpoint))
    (setq PTL (cons PT PTL))
  )
  (setq SS (ssget "F" PTL '((0 . "LINE"))))
)
;选取图层表("CENTER" "DIM" "COOL" "CORE" -------N个图层)内的线
(setq LA '("CENTER" "DIM" "COOL" "CORE")
      SS (ssget
  (list
    '(0 . "LINE")
    (cons 8
  (apply 'strcat (mapcar '(lambda (X) (strcat X ",")) LA))
    )
  )
)
)
;选取经过某点的实体
(setq PT (getpoint))
(setq SS (ssget "C" PT PT))
;选取不含数字的文本
(setq SS (ssget '
((-4 . "")
 (0 . " *TEXT ")
 (-4 . "")
 (1 . "*[0-9]*")
 (-4 . "NOT>")
 (-4 . "AND>")
)
)
)
;只选取不含字母的文本
(setq SS (ssget '
((-4 . "")
 (0 . " *TEXT ")
 (-4 . "")
 (1 . "*[a-A-z-Z]*")
 (-4 . "NOT>")
 (-4 . "AND>")
)
)
)
;------------------------------------------------------------------------------------------------------------
;"图层1" "图层2""图层N中的文本,图层1为层名
(setq SS (ssget "X"
(list
 '(0 . "TEXT")
 (cons 8 "图层[1-N]")
)
)
)
;------------------------------------------------------------------------------------------------------------
;选取0层以外的线
(setq SS
       (ssget '
      ((-4 . "")
(0 . " LINE ")
(-4 . "")
(8 . "0")
(-4 . "NOT>")
(-4 . "AND>")
      )
       )
)
;------------------------------------------------------------------------------------------------------------
;按颜色号选取对象
(setq COL (KX-INT 7 "" "颜色号" COL 1))
(setq SS (ssget
  (list
    '(-4 . "")
    (cons 62 COL)
    '(-4 . "OR>")
  )
)
)
;-----------------------------------------------------------------------------------------------------------
;选取含KX的文本
(setq XT (strcat "*" "KX" "*")) ;KX为文字内容
(ssget (list
'(0 . "TEXT")
(cons 1 XT)
       )
)
;-----------------------------------------------------------------------------------------------------------
;判断选取某个区域有没有直线
(setq SS (ssget "C"
(polar '(0 0) (* 0.25 pi) 0.5) ;坐标点
(polar '(0 0) (* 1.25 pi) 0.5) ;坐标点
'((0 . "LINE"))
)
)
;-----------------------------------------------------------------------------------------------------------
;选取颜色不是随层的圆、直线
(setq SS (ssget "X"
'((0 . "CIRCLE,LINE")
 (-4 . "/=")
 (62 . 256) ;-4 62"面不可以加AND OR
)
)
)
;------------------------------------------------------------------------------------------------------------
;选取颜色1和2的对象(OR)的用法
(setq SS (ssget '((-4 . "")
 (62 . 2)
 (62 . 1)
 (-4 . "OR>")
)
)
)
;--------------------------------------------------------------------------------------------------------------
;选取半径大于20小于100的圆
(setq SS (ssget '
((-4 . "")
 (0 . "CIRCLE")
 (-4 . ">")
 (40 . 20) ;大于20
 (-4 . "<")
 (40 . 100) ;小于100
 (-4 . "AND>")
)
)
)
;--------------------------------------------------------------------------------------------------------------
;只选取"文字(包括多行文字)、尺寸、带属性的块
(setq SS (ssget '
((-4 . "")
 (0 . "*TEXT,DIMENSION")
 (-4 . "")
 (0 . "INSERT")
 (66 . 1)
 (-4 . "AND>")
 (-4 . "OR>")
)
)
)
;--------------------------------------------------------------------------------------------------------------
;屏幕外的窗口模式选取
(setq REC_P1 '(0 0)) ;窗口左下角点
(setq REC_P2 '(1000 1000)) ;窗口右上角点
(setq FILTER_LIST
       (list
'(0 . "INSERT")
'(-4 . "")
'(-4 . ">,>,*")
(cons 10 REC_P1)
'(-4 . "<,<,*")
(cons 10 REC_P2)
'(-4 . "AND>")
       )
)
(ssget "X" FILTER_LIST)
;--------------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------------
;一次产生N个不同选取集
(if (setq SS (ssget))
  (setq SS1 (ssget "_P" '((0 . "*TEXT"))))
) ;从选择集中分解出文字
;空回车得出不同结果的选取集
(if (setq SS (ssget))
  (setq SS (ssget "_P" FLT))
  (setq SS (ssget "_X" FLT))
)
;--------------------------------------------------------------------------------------------------------------
;;;坐标范围选择,有点类似(SSGET "C" P1 P2 FILTER),但本函数在屏幕外的也可选择
;;;测试 (TT (GETPOINT) (GETPOINT) '((0 . "INSERT")))
(defun TT (P1 P2 FILTER / MINX MINY MAXX MAXY)
  (setq MINX (min (car P1) (car P2))
MINY (min (cadr P1) (cadr P2))
MAXX (max (car P1) (car P2))
MAXY (max (cadr P1) (cadr P2))
  )
  (if FILTER
    (ssget "X"
  (append (list '(-4 . "")
'(-4 . ">=,>=,*")
(list 10 MINX MINY 0)
'(-4 . "<=,<=,*")
(list 10 MAXX MAXY 0)
  )
  (append FILTER '((-4 . "AND>")))
  )
    )
    (ssget "X"
  (list '(-4 . "")
'(-4 . ">=,>=,*")
(list 10 MINX MINY 0)
'(-4 . "<=,<=,*")
(list 10 MAXX MAXY 0)
'(-4 . "AND>")
  )
    )
  )
)
  评论这张
 
阅读(175)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018