wdb 发表于 2004-1-3 16:25:00

将每次的选择都加入到另外的一个变量之中,然后再处理这个变量。

tjzcj 发表于 2004-1-4 10:28:00

我的意思是有没有一次全选中的办法,SSGET本来就可以把每次选的数据都存入变量中,没必要选一次存一个变量了

meflying 发表于 2004-1-4 15:18:00

那你得说说选中的数字和不要的数字有什么不同的地方啊

无痕 发表于 2004-1-4 23:58:00

xd论坛有两篇帖子,关于文本选集中数字求和并且写到图上的。可以参考一下。
http://www.xdcad.com/forum/showthread.php?goto=lastpost&s=&threadid=83454
http://www.xdcad.com/forum/showthread.php?s=&postid=725790#post725790

tjzcj 发表于 2004-1-5 09:02:00

十分感谢 无痕

ljcgq 发表于 2004-2-3 22:55:00

;也许这样更完善


(defun c:sum ()<BR>       (setq p1(getpoint "请选择字域的左上角点"))<BR>       (setq p2(getpoint "请选择字域的右下角点"))<BR>       <BR>       (command "zoom" "w" p1 p2)<BR>       (setq selct (ssget "w" p1 p2 '((0 . "text"))))<BR>       <BR>       (setq n 0<BR>        sum 0<BR>       )<BR>       (repeat (sslength selct)<BR>                       (setq en (ssname selct n))<BR>                       (setq endata (entget en))<BR>                       (setq entxt (cdr (assoc 1 endata)))<BR>                       (setq entxt (atof entxt))<BR>                       (setq sum (+ sum entxt))<BR>                       (setq n (+ n 1))<BR>       )<BR>       <BR>       (setq aa(entget en))<BR>       (setq zg0(cdr (assoc 40 AA)))<BR>       (setq p3 (polar p2 (/ pi 2)               ( * zg0       2 )               ))<BR>       (setq sum (fix (+ sum 0.5)))<BR>       (command "text" "j" "mc"       p3       zg0       0       sum )<BR>)

123abc 发表于 2005-1-22 11:37:00

也有几个问题请各位老师帮忙解答:


①当数据含有单位时,如“80m”,如何将“m”去掉,让“80”参加统计;


②当TEXT字符全是非数字字符时,如“高度”,自动将这个字符去除,不参加统计;


③当选择集为“nil”,或没有一个合格的数据时,输出统计结果为“0”。

wdb 发表于 2005-1-23 08:57:00

可以采用遍历数据库的方法(setq selct (ssget "X"       '((0 . "text"))))将文字取出来,然后再取出在对角点为p1和 p2框内的文字. 按这种方法屏幕不会闪烁.<BR>

123abc 发表于 2005-1-23 18:30:00

123abc发表于2005-1-22 11:37:00static/image/common/back.gif也有几个问题请各位老师帮忙解答:



①当数据含有单位时,如“80m”,如何将“m”去掉,让“80”参加统计;


②当TEXT字符全是非数字字符时,如“高度”,自...

<BR>急盼各位老师帮忙!

my_autocad 发表于 2009-2-7 15:34:00

<p>这个程序不能精确到小数,需要改进,怎么改进呢?</p><p></p>
页: 1 [2]
查看完整版本: 如何将数字求和(sum)写到图中,焦急等待!!!