明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5120|回复: 13

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

[复制链接]
发表于 2008-10-1 10:58 | 显示全部楼层 |阅读模式

要求:

输入命令

框选图中所有的数字

选择(加/减/乘/除)

输入一个数字A

则图中所有的数字对A进行(加/减/乘/除)的运算

有这样的LISP吗?

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

层主牛鼻.......
发表于 2018-3-14 14:25 | 显示全部楼层
保留精度由 rtos  这个函数决定 ,可以根据自己需要修改
发表于 2018-5-14 18:38 | 显示全部楼层
4楼的这个用着还不错
发表于 2008-10-2 09:45 | 显示全部楼层
函数c:cal或cal, 要先加载geomcal.arx
发表于 2008-10-2 14:03 | 显示全部楼层
飞诗的程序有这功能.
发表于 2008-10-3 19:16 | 显示全部楼层

试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入  +2 ,即可全部增加2,小数位在格式里设置

;;文本计算器
(defun C:tadd ( / sa k ss str yusf n shzi h hh)
 (princ "\n 选择所有文字:")
 (setq ss (ssget  '((0 . "text")))
      str (getstring "\n 输入四则运算及数值:")
     yusf (substr str 1 1)
     shzi (atof (substr str 2))
        n (sslength ss) k 0 )
 (while (< k n)
      (setq names (ssname ss k)
               sa (entget names)
                h (assoc '1 sa)
        hh (atof(cdr h)))
        (if (= yusf "+")(setq  str1 (rtos (+ hh shzi) 2)))
        (if (= yusf "-")(setq  str1 (rtos (- hh shzi) 2)))
        (if (= yusf "*")(setq  str1 (rtos (* hh shzi) 2)))
        (if (= yusf "/")(setq  str1 (rtos (/ hh shzi) 2)))
        (if (= yusf "^")(setq  str1 (rtos (expt hh shzi) 2)))
 (setq h1 (cons 1 str1))
        (setq sa (subst h1 h sa))
        (entmod sa)
        (setq k (+ k 1))
 )(princ)
)

发表于 2008-10-4 17:40 | 显示全部楼层

论坛搜索 四则

能搜索到你要的程序

发表于 2011-9-9 15:05 | 显示全部楼层
4楼的这个用着还不错
发表于 2011-10-11 16:56 | 显示全部楼层
能否修改下,精确到小数点后几位,同时改颜色
发表于 2015-9-8 21:27 | 显示全部楼层
四楼的方法有点用处谢谢
发表于 2018-3-29 16:17 | 显示全部楼层
非常好!!!感谢楼主分享!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-26 09:33 , Processed in 0.494740 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表