lzg8877 发表于 2013-4-6 16:33:11

求帮忙将两个代码的功能合起来 画多圆后按大到小分色

(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 17:19:39

本帖最后由 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:15:24

本帖最后由 wowan1314 于 2013-4-6 17:18 编辑

第一个好像是我写的哦!!!呵呵!!  一眼望去全是大写!
兄弟一点进步都没哦。这个很简单的呀。加两行就好啦


lzg8877 发表于 2013-4-6 20:48:22

当然没有进步了,本人很懒。多谢提点!

wowan1314 发表于 2013-4-6 21:27:34

巧啦!我也是懒人一枚!五年才入的门!
如果你继续热衷于lsp带来的便捷,你迟早也会入门的!看看我明经印象的帖子!里面有几个入门的书!估计你会用到!

lzg8877 发表于 2013-4-6 22:27:42

嗯 我去看看 好感激
页: [1]
查看完整版本: 求帮忙将两个代码的功能合起来 画多圆后按大到小分色