有没有直接符合条件的圆转换为块得lisp程序
我对lisp不懂,只知道加载,希望大家给我提供一个lisp程序,谢谢了 ... 符合条件的圆...什么条件 + 如何取得? 1,选择(过滤条件)
2, 循环 (首个转成块,第二个插入块,删除图元;第三个同第二个方法 。。。。。) (defun c:changetoblock (/ CLO EN M N P RA SS)
(setq ra(getreal "输入半径<5>:")
clo (getint "颜色代号<Bylayer>:")
)
(if (null ra)
(setq ra 5)
)
(if (null clo)
(setq clo 256)
)
(setq ss (ssget (list '(0 . "circle") (cons 40 ra) (cons 62 clo))))
(if ss
(progn
(setq n (sslength ss)
m 0
)
(repeat n
(setq en (ssname ss m))
(setq p (cdr (assoc 10 (entget en))))
(if (= m 0)
(progn
(command "block" "name" p (ssadd en (ssadd)) "") ;"name"-----为块名
(command "insert" "name" p 1 1 0)
)
(progn
(entdel en)
(entmake (list '(0 . "insert") '(2 . "name") (cons 10 p)))
)
)
(setq m (1+ m))
)
)
)
)
页:
[1]