- 积分
- 5436
- 明经币
- 个
- 注册时间
- 2015-5-29
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|

楼主 |
发表于 2015-6-15 17:52:10
|
显示全部楼层
dbqtju 发表于 2015-6-12 08:50 
现在还不是大侠,也是刚刚上路。((-4 . ""))内SPLINE和*TEXT之间少了个逗号。
附件增加了不选择红色或者青 ...
谢谢了 小修改下
;;框内物体删除 By Gu_xl
;;用此命令差组码(entget (car (entsel))) (6 . "CENTER")
(defun c:tt (/ OS P1 P2 CP SS ENREC N *error*)
(defun *error* (s)
(setvar "osmode" os)
(princ s)
)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq p1 (getpoint "\n指定基点:"))
(setq p2 (getcorner p1 "\n指定对角点:"))
(setq cp (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p1 p2)))
(setq ss (ssget "w" p1 p2 '((-4 . "<NOT")
(-4 . "<OR")
(0 . "CIRCLE,INSERT,*TEXT")
(-4 . "<AND") (0 . "LINE") (6 . "DASHED") (-4 . "AND>")
(-4 . "<AND") (0 . "ARC") (6 . "DASHED") (-4 . "AND>")
(-4 . "<AND") (0 . "LINE") (6 . "CENTER") (-4 . "AND>")
(-4 . "<AND") (62 . 92) (6 . "HIDDEN") (-4 . "AND>")
(-4 . "<AND") (62 . 8) (6 . "HIDDEN") (-4 . "AND>")
(-4 . "OR>")
(-4 . "NOT>"))))
(if ss (command "erase" ss ""))
(command "rectang" p1 p2)
(setq enRec (entlast))
;;重复5次,以保证剪切干净
(repeat 5
(setq ss (ssget "c" p1 p2 '((-4 . "<NOT")
(-4 . "<OR")
(0 . "CIRCLE,INSERT,*TEXT")
(-4 . "<AND") (0 . "LINE") (6 . "DASHED") (-4 . "AND>")
(-4 . "<AND") (0 . "LINE") (6 . "CENTER") (-4 . "AND>")
(-4 . "<AND") (0 . "ARC") (6 . "DASHED") (-4 . "AND>")
(-4 . "<AND") (62 . 8) (6 . "HIDDEN") (-4 . "AND>")
(-4 . "<AND") (62 . 92) (6 . "HIDDEN") (-4 . "AND>")
(-4 . "OR>")
(-4 . "NOT>"))))
(ssdel enRec ss)
(command ".trim" enRec "")
(repeat (setq n (sslength ss))
(command (list (ssname ss (setq n (1- n))) cp))
)
(command "")
)
;;删除绘制的方框
(entdel enRec)
(setvar "osmode" os)
(princ)
) |
|