重圆消除.lsp
zml84
zml84 Lv.2
2010年11月12日 11:21:28
只看楼主

重圆消除.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

重圆消除.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))
免费打赏
foxphantom
2010年11月12日 14:17:30
2楼
学习下了~~~~楼主还是花了点心思的
回复
水的畅想
2010年11月12日 14:18:01
3楼
好像程序里面没有EN的函数呀,少一个函数运行不起来
回复
baguc
2010年11月13日 09:52:44
4楼
我发的 软件 已有此功能!
回复

相关推荐

APP内打开