tjzcj 发表于 2004-1-2 20:35:00

如何将数字求和(sum)写到图中,焦急等待!!!

如何将数字求和(sum)写到图中,不是写在命令行
(defun c:sum ()
(setq selct (ssget '((0 . "text"))))
(setq n 0
sum 0
)
(repeat (sslength selct)
    (setq en (ssname selct n))
    (setq endata (entget en))
    (setq entxt (cdr (assoc 1 endata)))
    (setq entxt (atof entxt))
    (setq sum (+ sum entxt))
    (setq n (+ n 1))
)
(write-line (strcat "sum=" (rtos sum)))
)

tjzcj 发表于 2004-1-2 20:44:00

本帖最后由 作者 于 2004-1-3 9:49:43 编辑

还有个问题,当数字数目比较多,一屏幕看不清时,将屏幕“ 'pan“后如何避免只选中最后一屏的数字

yfy2003 发表于 2004-1-2 21:48:00

在 AutoLISP/Visual LISP 编程技术发了贴,建议你就不要在这里发了,论坛空间有限,斑竹给你删除了要扣分的哦!

tjzcj 发表于 2004-1-2 21:51:00

好的,请帮帮忙!!

BDYCAD 发表于 2004-1-3 09:27:00

(write-line (strcat "sum=" (rtos sum)))換成(alert (strcat "sum=" (rtos sum)))就是顯示在對話框的, 但如樓主要把他打在cad里就應用text命令呀

tjzcj 发表于 2004-1-3 09:48:00

本帖最后由 作者 于 2004-1-3 10:23:33 编辑

知道了谢谢,请帮忙第二个问题,在cad2004中如何避免只选最后一屏

cqnj023 发表于 2004-1-3 11:13:00

先添加到选择集后再'pan

tjzcj 发表于 2004-1-3 11:25:00

你是说多选几次吗,可以解决问题,就是麻烦了点,不知道有没有好办法一次选出??

meflying 发表于 2004-1-3 12:04:00

你的选取方式应该是点选吧,循环使用entsel,这样在选择时也是连贯的

tjzcj 发表于 2004-1-3 15:24:00

我一般要选20个以上,并且排成一行或一列,周围还有其他不需要的数字,这时一屏幕看不清,所以放大,用窗选或用围篱框(f)选,起点数字点取一点,缩放屏幕然后终点数字取一点,结果选到的数字只有最后一屏幕的,不能满足需要。这种情况请问怎么处理最省事
页: [1] 2
查看完整版本: 如何将数字求和(sum)写到图中,焦急等待!!!