求帮忙将两个代码的功能合起来 画多圆后按大到小分色
(DEFUN C:cc (/ EN WW-XIN WW-BANJ);(COMMAND ".CIRCLE" PAUSE)
(COMMAND PAUSE)
(SETQ EN (ENTLAST))
(SETQ WW-XIN (CDR (ASSOC 10 (ENTGET EN))));圆心
(SETQ WW-BANJ (CDR (ASSOC 40 (ENTGET EN))));半径
(WHILE (AND WW-BANJ (> (- WW-BANJ 6) 6))
(SETQ WW-BANJ (- WW-BANJ 10))
(COMMAND ".CIRCLE" WW-XIN WW-BANJ))
(PRINC))
;; 圆按大→小分色(defun c:vvV ()(if (setq ss (ssget '((0 . "CIRCLE")))) (progn (setq i -1 lst '() ) (while (setq s1 (ssname ss (setq i (1+ i)))) (setq r (cdr (assoc 40 (entget s1))) lst (if (member r lst) lst (cons r lst) ) ) ) (setq lst (vl-sort lst '>) i 0 ) (foreach r lst (command "select" ss "") (setq ss1 (ssget "P" (list '(0 . "CIRCLE") (cons 40 r)))) (command "chprop" ss1 "" "C" (itoa (1+ i)) "") (setq i (1+ i)) ) ))(princ))
本帖最后由 wowan1314 于 2013-4-6 19:42 编辑
应该是这样...圆应该不会超过256个把.不然没颜色分配了.
(DEFUN C:cc (/ EN WW-XIN I WW-BANJ);
(COMMAND ".CIRCLE" PAUSE)
(COMMAND PAUSE)
(SETQ EN (ENTLAST))
(SETQ WW-XIN (CDR (ASSOC 10 (ENTGET EN))));圆心
(SETQ WW-BANJ (CDR (ASSOC 40 (ENTGET EN))) I 0);半径
(WHILE (AND WW-BANJ (> (- WW-BANJ 6) 6))
(SETQ WW-BANJ (- WW-BANJ 10))
(COMMAND ".CIRCLE" WW-XIN WW-BANJ)
(SETQ EN (ENTLAST))
(command "chprop" (SSADD EN) "" "C" (itoa (1+ i)) "")
(SETQ I (1+ I)))
(PRINC)) 本帖最后由 wowan1314 于 2013-4-6 17:18 编辑
第一个好像是我写的哦!!!呵呵!! 一眼望去全是大写!
兄弟一点进步都没哦。这个很简单的呀。加两行就好啦
当然没有进步了,本人很懒。多谢提点! 巧啦!我也是懒人一枚!五年才入的门!
如果你继续热衷于lsp带来的便捷,你迟早也会入门的!看看我明经印象的帖子!里面有几个入门的书!估计你会用到! 嗯 我去看看 好感激
页:
[1]