发布于:2010-11-12 11:21:12
来自:建筑设计/CAD下载及教程
[复制转发]
重圆消除.lsp;;;重圆消除 (相同圆心、相同半径);;;========================================(defun C:TT (/ SS LST I EN ENL PT10 PT11 A N LST_NEW) (if (setq SS (ssget '((0 . "CIRCLE")))) (progn ;;组织成表 ((en pt10 pt11)...) (setq LST '() I 0 ) (repeat (sslength SS) (setq EN (ssname SS I) ENL (entget EN) PT10 (cdr (assoc 10 ENL)) r (cdr (assoc 40 ENL)) ) (setq LST (cons (list EN PT10 r) LST)) (setq I (1+ I)) ) ;;逐个对比 (while LST ;;取首个 (setq A (car LST) LST (cdr LST) ) ;;对比 (setq LST_NEW '()) (foreach N LST (if (and (equal (cadr A) (cadr N) 0.001) (equal (caddr A) (caddr N) 0.001) ) (entdel (car N)) ;_删除实体 (setq LST_NEW (cons N LST_NEW)) ) ) ;; (setq LST LST_NEW) ) ) ) (princ))
全部回复(3 )
只看楼主 我来说两句-
baguc
沙发
我发的 软件 已有此功能!
2010-11-13 09:52:13
赞同0
-
水的畅想
板凳
好像程序里面没有EN的函数呀,少一个函数运行不起来
2010-11-12 14:18:12
赞同0
加载更多回复 举报
回复 举报