kevin_08785 发表于 2011-4-2 10:55:02

有没有直接符合条件的圆转换为块得lisp程序

我对lisp不懂,只知道加载,希望大家给我提供一个lisp程序,谢谢了

Andyhon 发表于 2011-4-2 12:21:14

... 符合条件的圆...
什么条件 + 如何取得?

lenlenq 发表于 2011-4-5 20:34:26

1,选择(过滤条件)
2, 循环 (首个转成块,第二个插入块,删除图元;第三个同第二个方法 。。。。。)

lenlenq 发表于 2011-4-5 21:26:55

(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]
查看完整版本: 有没有直接符合条件的圆转换为块得lisp程序