linheyuanpcb 发表于 2008-1-5 19:17:00

求能在在同一层下不同的圆的大小由不同的颜色来显示的lisp

<p>&nbsp;求能在在同一层下不同的圆的大小由不同的颜色来显示的lisp.不知有没有人能做到?还有就是可以选中同颜色的圆进行修改,修改时所选的如果是红色的圆,那么图中有20个红色的,这20个也会跟着改变?谢谢各位!</p><p></p>

戏男 发表于 2023-11-13 17:04:35

clm840917 发表于 2023-10-21 12:20
看见你了看见你了

你这是什么意思啊?{:1_1:}

clm840917 发表于 2023-10-21 12:20:04

看见你了看见你了

clm840917 发表于 2023-10-21 12:18:58

看不见我看不见我

linheyuanpcb 发表于 2008-1-6 08:10:00

补充一点就是能统计出任何一种颜色的圆的大小和数量,有人会的吗?请帮忙谢谢

ZZXXQQ 发表于 2008-1-6 12:16:00

本帖最后由 作者 于 2008-1-12 19:18:10 编辑


;圆按大小分色显示 明经 ZZXXQQ 2008.1.12
(defun c:tt ()
 (setvar "CMDECHO" 0)
 (if (setq ss (ssget '((0 . "CIRCLE")))) (progn
  (command ".UNDO" "BE")
  (setq i -1  cirlst (list))
  (repeat (sslength ss)
   (setq r (cdr (assoc 40 (entget (setq en (ssname ss (setq i (1+ i))))))))
   (if (assoc r cirlst)
    (setq cirlst (subst (cons r (1+ (cdr (assoc r cirlst)))) (assoc r cirlst) cirlst))
    (setq cirlst (cons (cons r 1) cirlst))
   )
  )
  (setq i -1 cirlst (reverse cirlst))
  (setq cirlst (vl-sort cirlst (function (lambda (e1 e2) (< (car e1) (car e2))))))
  (repeat (length cirlst)
   (setq r (car (nth (setq i (1+ i)) cirlst)))
   (command "select" ss "")
   (setq ss1 (ssget "P" (list (cons 0 "CIRCLE") (cons 40 r))))
   (command "chprop" ss1 "" "C" (itoa (1+ i)) "")
  )
  (command ".UNDO" "E")
 ))
 (setvar "CMDECHO" 1)
 (princ)
)

bybyby 发表于 2008-1-6 14:24:00

zzxxqq大大说的什么内容啊,俺帖子少看不到哦

linheyuanpcb 发表于 2008-1-6 14:31:00

; 错误: no function definition: COMMSND

ZZXXQQ 发表于 2008-1-6 17:46:00

指位错了!将COMMAND敲错了。三楼已改。

linheyuanpcb 发表于 2008-1-12 17:33:00

<p>ZZXXQQ你好,你给的程序并不能满足我的要求,&lt;你给的只能选一个不同的来修改&gt; 谢谢</p><p>我要的是在多种孔径和数量不同的情况下,能根据大小来配上不同的颜色,</p><p>例如:0.5mm的圆孔有30个&nbsp;&nbsp;&nbsp; 0.82mm的圆孔有8个</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 1.0mm的圆孔有20个&nbsp;&nbsp;&nbsp; .................</p><p>出来的效果是0.5mm的30个孔都用一种颜色,其它的依此类推用不同颜色表示出来</p><p>谢谢...................</p><p>&nbsp;&nbsp;&nbsp; </p>

ZZXXQQ 发表于 2008-1-12 19:20:00

三楼已改,先试试。

linheyuanpcb 发表于 2008-1-13 10:31:00

ZZXXQQ你好,加载后出现:输入的列表有缺陷,请帮忙解决,本人一点也不懂,谢谢

ZZXXQQ 发表于 2008-1-13 18:07:00

程序在2004上调试通过。三楼程序复制后要将行前面的分号去掉才行。再试试看。
页: [1] 2 3 4 5 6
查看完整版本: 求能在在同一层下不同的圆的大小由不同的颜色来显示的lisp