删除重叠块的程序(最新版)。
本帖最后由 6224jjyy 于 2018-5-10 19:56 编辑(defun c:KK (/ pt ss ss1 ss_m ent name1 name2 name3)
(setq p1 (getpoint "\n请输入第一角:"))
(setq p2 (getcorner p1 "\n请输入第二角:"))
(setq ss (ssget "w" p1 p2 '((0 . "INSERT"))))
(setq ss_m (ssadd))
(while (and ss (> (sslength ss) 1))
(setq ent (ssname ss 0))
(setq pt (cdr (assoc 10 (entget ent)))
name1 (cdr (assoc 2 (entget ent)))
name2 (cdr (assoc 41 (entget ent)))
name3 (cdr (assoc 50 (entget ent)))
ss1 (ssget "w" p1 p2 (list (cons 0 "INSERT")(cons 10 pt)
(cons 2 name1)(cons 41 name2)(cons 50 name3)))
)
(if (and ss1 (> (sslength ss1) 1))
(progn
(ssdel (ssname ss1 0) ss1)
(command "select" ss_m ss1 "")
(setq ss_m (ssget "P"))
)
)
(command "select" ss "r" ent "")
(setq ss (ssget "P"))
)
(sssetfirst nil ss_m)
(if (> (sslength ss_m) 0)
(progn
(setq p0 (getpoint p2 "\n移动至..."))
(sssetfirst nil)
(setq i 0)
(repeat (sslength ss_m)
(setq s1 (ssname ss_m i))
(setq p10 (cdr (assoc 10 (entget s1))))
(command "move" s1 "" p10 p0)
(command "line" p10 p0 "")
(setq p0 (polar p0 0 800))
(setq i (1+ i))
)
)
)
研究了大半天。。实在是弄不明白了,特此来求助。。 ;; tt(重复图块移位) 2015-12-10
(defun c:tt ()
(defun dxf (code s1) (cdr (assoc code (entget s1))))
(setvar "osmode" 0)
(if (and (setq p1 (getpoint "\n请输入第一角: "))
(setq p2 (getcorner p1 "\n请输入第二角: "))
(setq ss (ssget "w" p1 p2 '((0 . "INSERT"))))
)
(progn
(setq i -1
ss-m (ssadd)
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(if (not (ssmemb s1 ss-m))
(progn
(setq lst (list '(0 . "INSERT")
(cons 10 (DXF 10 s1))
(cons 2 (DXF 2 s1))
(cons 41 (DXF 41 s1))
(cons 50 (DXF 50 s1))
)
ss1 (ssget "w" p1 p2 lst)
)
(if (> (sslength ss1) 1)
(progn
(setq ss1 (ssdel s1 ss1))
(command "select" ss1 ss-m "")
(setq ss-m (ssget "P"))
)
)
)
)
)
(if (> (sslength ss-m) 0)
(progn
(setq p0 (getpoint p2 "\n移动至...")
i0
)
(repeat (sslength ss-m)
(setq s1 (ssname ss-m i))
(setq p10 (cdr (assoc 10 (entget s1))))
(command "move" s1 "" p10 p0)
(command "line" p10 p0 "")
(setq i (1+ i))
)
)
)
)
)
(princ)
) xyp1964 发表于 2015-12-10 22:52 static/image/common/back.gif
非常感谢。。我先保存了,明天再研究 本帖最后由 6224jjyy 于 2015-12-12 09:30 编辑
xyp1964 发表于 2015-12-10 22:52 static/image/common/back.gif我代码的错误找到了,你再帮看看,我修改后的代码,有什么问题吗?
还有,你的代码,写在一个框里,怎么做到的?
页:
[1]