![]() |
[求助]求加减乘除运算的lisp
[求助]求加减乘除运算的lisp
www.dimcax.com [求助]求加减乘除运算的lisp 要求: 输入命令 框选图中所有的数字 选择(加/减/乘/除) 输入一个数字a 则图中所有的数字对a进行(加/减/乘/除)的运算 有这样的lisp吗? d 函数c:cal或cal, 要先加载geomcal.arx d 飞诗的程序有这功能. d 试试俺的程序,支持加减乘除和开方,使用很简单,选择文本直接输入 +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) ) |
所有的时间均为北京时间。 现在的时间是 05:36 PM. |