stulsx 发表于 2004-3-19 16:27:00

[分享]计算表达式的值并将计算结果赋给选择的文字

;计算表达式的值并将计算结果赋给选择的文字<BR>(DEFUN C:VFG()<BR>;obt 选择的体       <BR>;bdsh 输入的表达式 <BR>;Vbdsh       表达式的值<BR>;TXT_Vbdsh       转换成文本的表达式的值<BR>       <BR>;选择物体 1.<BR>       (princ "\n计算表达式的值并将计算结果赋给选择的文字")<BR>       (setq obt (ssget '((-4 . "&lt;AND") <BR>                                                                                                                                                                                                                                                                                                                                                       (-4 . "&lt;AND") <BR>                                                                                                                                                                      (0 . "TEXT") <BR>                                                                                                                                                                               (-4 . "AND&gt;") <BR>                                                                                                                                                                                                                                                                                               (-4 . "&lt;NOT") <BR>                                                                                                                                                                                                               (0 . "LINE") <BR>                                                                                                              (-4 . "NOT&gt;")<BR>                                        (-4 . "AND&gt;"))       )<BR>       )<BR>;输入表达式,并计算表达式 2.<BR>        (if (null cal)(arxload "geomcal"))<BR>        (setq Vbdsh       (cal (strcat (setq bdsh (getstring "\n输入表达式:")) )))<BR>       <BR>;将计算得到的数值覆盖文字 3.<BR>        (setq TXT_Vbdsh (rtos Vbdsh 2 3))


               (setq tpt3       (entget (ssname obt 0)))<BR>                                       (setq pp (cons 1 TXT_Vbdsh))<BR>                                       (setq tpt3x (subst pp (assoc 1 tpt3) tpt3))<BR>                                       (entmod tpt3x)<BR>;<BR>;<BR>       (eval Vbdsh)<BR>        );end FUN

ttthhh_hb 发表于 2004-3-20 19:44:00

好东东!

岁月无身 发表于 2004-4-15 11:32:00

;输入表达式


怎么输入啊?


假如我要得到已经选择的两个数字的乘积,我该怎么输入该表达式呢?


请楼主告知啊,

无痕 发表于 2004-4-15 13:42:00

输入表达式符合 cad命令‘cal的要求。


可惜楼主的程序


1。不能同时改多个文本


2。不能控制小数位。


3。不能解决’cal 的bug。如:


&gt;&gt; 错误: 整数必须介于 -32768 和 32767 之间.

anston 发表于 2005-1-4 11:49:00

这个功能在VBA中怎么实现

逍遥无声 发表于 2019-11-4 06:53:02

页: [1]
查看完整版本: [分享]计算表达式的值并将计算结果赋给选择的文字