要求:

输入命令

框选图中所有的数字

选择(加/减/乘/除)

输入一个数字A

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

有这样的LISP吗?



网友答: 本帖最后由 yjwht 于 2025-11-26 17:02 编辑
yxp 发表于 2008-10-3 19:16
试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入  +2 ,即可全部增加2,小数位在格式 ...

非常好用。描述有点小问题,是支持乘方,不是开方。我主要是用于电缆分段长度的计算,乘以1.025系数,非常实用!


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

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

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

还可以呢,谢谢分享

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

网友答: 飞诗的程序有这功能.

网友答:

试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入  +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)
)



网友答:

论坛搜索 四则

能搜索到你要的程序



网友答: 4楼的这个用着还不错

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

网友答: 四楼的方法有点用处谢谢


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

网友答: 非常好!!!感谢楼主分享!!
  • 上一篇:更新!!掀开“桌子”,从CAD中挖掘出全部Lisp函数
  • 下一篇:没有了