加载几何计算器并计算表达式的值
本帖最后由 guosheyang 于 2023-3-29 10:14 编辑经常看到有的朋友说lisp计算数学综合表达式的值不方便,计算符号在前的写法反人类等等,这里给朋友们分享一个加载几何计算器并计算数学表达式的值(即cal命令)比如 "3*3+56/8+2^3+sqrt(16)+sin(30)",这样计算很方便。 虽是基本函数,但也会有一些人可能不知道
**** Hidden Message *****
早就在用了(defun C:++( / ss i txt txt1)
(setvar "cmdecho" 0)
(setq ss (ssget '((0 . "text"))))
(setq i (sslength ss))
(setq txt "0")
(if (> i 0)
(progn
(while (> i 0)
(setq i (- i 1))
(setq txt1 (cdr (assoc 1 (entget (ssname ss i)))))
(setq txt (strcat txt1 "+" txt))
))
)
(prin1 txt)
(arxload "geomcal")
(setq txt1 (getpoint""))
(entmake
(list '(0 . "TEXT")
(cons 1 (rtos (cal txt) 2 2))
(cons 10 txt1)
(cons 40 0.8)
(cons 11 txt1)
(cons 72 1)
(cons 73 2)
(cons 7 "宋体")
(cons 62 1)
))
(princ)
) 如果不存在则加载计算器:
(if
(not
(vl-member-if
'(lambda (x) (member x (arx)))
'("geomcal.arx" "geomcal.crx")
)
)
(arxload "geomcal")
)
打开看看 谢谢楼主的分享 几何计算器 本帖最后由 Klein 于 2023-3-29 09:20 编辑
你猜说的应该是(arxload "geomcal") 吧,确实方便,表达式短一大截 谢谢你的分享 看看是个啥 谢谢你的分享 回复学习新技巧,谢谢啦!
谢谢你的分享