(defun c:mj ();;;(/ ent curve-obj mianji sum gs) (vl-load-com) (setq n 0 y 0) (setq sum 0) (setq mianji 0) (setq yanse (getint "\n输入颜色代码:")) (setq ss (ssget)) (setq gs (sslength ss)) (repeat (sslength ss) (setq ent (ssname ss n)) (setq curve-obj (vlax-ename->vla-object ent)) (setq mianji (vla-get-Area curve-obj)) (setq sum (+ mianji sum)) (setq ent_data (entget ent)) (if (/= (assoc 62 ent_data) nil) (setq ent_data (subst (cons 62 yanse) (assoc 62 ent_data) ent_data)) (setq ent_data (cons (cons 62 yanse) ent_data)) ) (entmod ent_data) (redraw ent 3) (setq n (+ n 1)) ) (princ (strcat "<<<<<共统计" (rtos gs 2 0) "个;" " 总面积=" (rtos sum 2 3)">>>>>")) (princ) )
本想实现统计面积后,所选择的圆、多段线颜色变为指定色并亮显,运行中发现: 1、如果圆、多段线颜色为随层,只有圆变色、亮显。 2、如果圆、多段线颜色不随层,圆、多段线都能变色,但是多段线不能亮显。 |