XIAOFEILONG 发表于 2008-10-1 10:58:00

[求助]求加减乘除运算的LISP

<p>要求:</p><p>输入命令</p><p>框选图中所有的数字</p><p>选择(加/减/乘/除)</p><p>输入一个数字A</p><p>则图中所有的数字对A进行(加/减/乘/除)的运算</p><p></p><p>有这样的LISP吗?</p>

金鹅起飞 发表于 2024-9-30 11:24:47

yxp 发表于 2008-10-3 19:16
试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入&nbsp; +2 ,即可全部增加2,小数位在格式 ...

yxp大师这个计算器完美!感谢您分享!:handshake

shirker 发表于 2024-10-4 10:37:20

yxp 发表于 2008-10-3 19:16
试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入&nbsp; +2 ,即可全部增加2,小数位在格式 ...

还可以呢,谢谢分享

hyqfa 发表于 2020-5-20 10:40:20

yxp 发表于 2008-10-3 19:16
试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入&nbsp; +2 ,即可全部增加2,小数位在格式 ...

层主牛鼻.......

caoyin 发表于 2008-10-2 09:45:00

函数c:cal或cal, 要先加载geomcal.arx

jxlsp 发表于 2008-10-2 14:03:00

飞诗的程序有这功能.

yxp 发表于 2008-10-3 19:16:00

<p>试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入&nbsp; +2 ,即可全部增加2,小数位在格式里设置</p><p>;;文本计算器<br/>(defun C:tadd ( / sa k ss str yusf n shzi h hh)<br/>&nbsp;(princ "\n 选择所有文字:")<br/>&nbsp;(setq ss (ssget&nbsp; '((0 . "text")))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str (getstring "\n 输入四则运算及数值:")<br/>&nbsp;&nbsp;&nbsp;&nbsp; yusf (substr str 1 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp; shzi (atof (substr str 2))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n (sslength ss) k 0 )<br/>&nbsp;(while (&lt; k n) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq names (ssname ss k)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sa (entget names)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; h (assoc '1 sa)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hh (atof(cdr h)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= yusf "+")(setq&nbsp; str1 (rtos (+ hh shzi) 2)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= yusf "-")(setq&nbsp; str1 (rtos (- hh shzi) 2)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= yusf "*")(setq&nbsp; str1 (rtos (* hh shzi) 2)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= yusf "/")(setq&nbsp; str1 (rtos (/ hh shzi) 2)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= yusf "^")(setq&nbsp; str1 (rtos (expt hh shzi) 2)))<br/>&nbsp;(setq h1 (cons 1 str1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sa (subst h1 h sa))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (entmod sa)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq k (+ k 1))<br/>&nbsp;)(princ)<br/>)</p>

nonsmall 发表于 2008-10-4 17:40:00

<p>论坛搜索 四则</p><p>能搜索到你要的程序</p>

humble 发表于 2011-9-9 15:05:26

4楼的这个用着还不错

flash326 发表于 2011-10-11 16:56:47

能否修改下,精确到小数点后几位,同时改颜色

luojunmax 发表于 2015-9-8 21:27:21

四楼的方法有点用处谢谢

2017forverd 发表于 2018-3-14 14:25:41

保留精度由 rtos这个函数决定 ,可以根据自己需要修改

晨寒羽良 发表于 2018-3-29 16:17:24

非常好!!!感谢楼主分享!!
页: [1] 2
查看完整版本: [求助]求加减乘除运算的LISP