卩s灬坤 发表于 2014-7-14 10:41:50

我怎么整都整不出来 ,谁能帮帮忙改编一下谢谢!

本帖最后由 Gu_xl 于 2014-7-14 11:00 编辑

;;;拾取数字求和
(defun c:qh (/ ss n totn adn)

(prompt "欢迎使用数字求和! 。 ")
(prompt "\n拾取数字求和: ")
(setqss (ssget '((0 . "mTEXT")))
n0
)
(setq totn 0.000)
(while (setq en (ssname ss n))
    (setq adn (atof (cdr (assoc 1 (entget en)))))
    (setq totn (+ totn adn))
    (setq n (1+ n))
)
(princ (strcat "\n数字和: "))
(princ totn)
(princ)
)

多行文字与单行文字,一起选择然后求和!
我怎么整都整不出来 ,谁能帮帮忙改编一下谢谢!

Gu_xl 发表于 2014-7-14 11:08:34

...
(setq ss (ssget '((0 . "*text"))))
(if ss
(repeat (setq n (sslength ss))
(setq en (ssname ss (setq n (1- n))))
(setq adn (atof (cdr (assoc 1 (entget en)))))
    (setq totn (+ totn adn))
)
)
...

434939575 发表于 2014-7-14 11:10:34

可以炸开字,把'((0 . "mTEXT")))变为'((0 . "TEXT")))。

我的我啊 发表于 2014-7-14 11:11:41

(apply '+ (mapcar 'atof (mapcar 'vla-get-textstring (mapcar 'vlax-ename->vla-object (ssget->list (ssget '((0 . "*text"))))))))

卩s灬坤 发表于 2014-7-14 12:30:23

OK了,谢谢你们的帮忙!

paulpipi 发表于 2020-9-18 07:53:02

好实用,谢谢分享
页: [1]
查看完整版本: 我怎么整都整不出来 ,谁能帮帮忙改编一下谢谢!