sdo7758258 发表于 2004-3-9 12:58:00

进来看一下

如图里面所示,如方框内的数字,我想统计整张图的方框里面的数据,程序如何写?


一些如BLV-25/36之类的数据程序已做好如下:


(defun c:dxcd(/ )<BR>       (setq ss(ssget "x" '((0 . "MTEXT"))))<BR>       (setq sn(sslength ss))<BR>       (setq dxtab nil i 0)<BR>       <BR>       (while(&lt; i sn)<BR>                       (setq si(ssname ss i)<BR>                                                                       str(cdr(assoc 1 (entget si)))<BR>                       )<BR>                       (setq pos nil)<BR>                       (if(&lt; (strlen str) 15)<BR>                                       (setq pos(vl-string-position (ascii "/") str))<BR>                       )<BR>                       (if pos<BR>                                       (progn<BR>                                                       (setq xx(substr str 1 pos) cd(substr str (+ pos 2)) cd(atof cd))<BR>                                                       (setq dxlst(assoc xx dxtab))<BR>                                                       (if dxlst<BR>                                                                       (progn<BR>                                                                                       (setq cd(+ (cdr dxlst) cd))<BR>                                                                                       (setq dxtab(subst (cons xx cd) dxlst dxtab))<BR>                                                                       )<BR>                                                                       (setq dxtab(append dxtab (list(cons xx cd))))<BR>                                                       )<BR>                                       )<BR>                       )<BR>                       (setq i(1+ i))<BR>       )<BR>       (princ "\n统计结果")<BR>       (princ "\n-----------------------")<BR>       (princ "\n导线型号                       导线长度")<BR>       (princ "\n-----------------------")<BR>       <BR>       (setq i 0)<BR>       (while(&lt; i (length dxtab))<BR>                       (setq dxlst(nth i dxtab))<BR>                       (princ (strcat "\n" (car dxlst) "                       " (rtos (cdr dxlst) 2 2)))<BR>                       (setq i(1+ i))<BR>       )<BR>       (princ "\n-----------------------")<BR>       (princ)       <BR>)


假如我把BLV-25/36,改成BLV-36\36,即“/”改成“\”如何改动,望指教!在下不胜感激。

meflying 发表于 2004-3-9 19:25:00

(ascii "/")-&gt;(ascii "\\")

sdo7758258 发表于 2004-3-10 20:12:00

谢谢班竹,如想统计方框里的数据又如何编写?即总和
页: [1]
查看完整版本: 进来看一下