bori 发表于 2009-10-12 09:55

关于autolisp系统命令"text"的调用。

程序中用到命令:
(command "TEXT" p1 "" "" p2)

在P1点插入默认大小,旋转的文字p2。p2为前程序得到。
我想在p2前加入字符串,怎么实现?
就是说假如我想在CAD里面显示的文字为价格:p2
这个"价格"怎么弄进去?

===================================

找到方法了,“text”命令内无法进行计算。
只有用rtos函数,先把所有变量值转换为字符串。
然后用strcat函数合并。

例如:
(setq str (rtos p7 2 2))                     ;;把变量p7的值转换为字符串型
(setq str1 (rtos p8 2 2))                   ;;把变量p8的值转换为字符串型

(setq all (strcat "合计" str str1))         ;;赋值all为两个字符串合并

然后再用text命令输出all变量即可。。。。:lol

[ 本帖最后由 bori 于 2009-10-15 15:51 编辑 ]

xhq1954425 发表于 2009-10-12 10:15

分两句不行吗?
(command "TEXT" p1 "" "" "价格:")
(command "TEXT" p12 "" "" p2)

bori 发表于 2009-10-12 10:34

谢谢。
这是个好方法。
但是,我要这两个显示在一行,这个现实位置,不好确定呀。。
另:(command "TEXT" p12 "" "" p2)
你这 P12 是什么意思??重新定的一个点?

xhq1954425 发表于 2009-10-12 10:45

p12是p1后面涉及 价格:1000元 相对位置的点,是你自己算好的点
如果设定相距为10,则:

(setq p12 (list (+ 10 (car p1)) (cadr p1)))

[ 本帖最后由 xhq1954425 于 2009-10-12 10:58 编辑 ]

bori 发表于 2009-10-12 11:05

哦,貌似这样有点麻烦,如果能直接像VB一样,字符串跟实数结合输出就好了。

bori 发表于 2009-10-12 11:19

原帖由 xhq1954425 于 2009-10-12 10:45 发表 http://www.askcad.com/bbs/images/common/back.gif
p12是p1后面涉及 价格:1000元 相对位置的点,是你自己算好的点
如果设定相距为10,则:

(setq p12 (list (+ 10 (car p1)) (cadr p1)))

谢谢,用起来还不错。
还让我学了 car cadr 的用法。
非常感谢。

bori 发表于 2009-10-15 14:07

嘿嘿,终于找到能解决的函数了。。

xhq1954425 发表于 2009-10-15 14:15

原帖由 bori 于 2009-10-15 14:07 发表 http://www.askcad.com/bbs/images/common/back.gif
嘿嘿,终于找到能解决的函数了。。
发上来学习一下!

bori 发表于 2009-10-15 15:49

原帖由 xhq1954425 于 2009-10-15 14:15 发表 http://www.askcad.com/bbs/images/common/back.gif

发上来学习一下!


大哥,先谢谢你之前的教导。
让我学到了car cadr 的用法。

函数,帖子里已经更新了,至于别的部分,是针对我单位线切割等加工核价用的。
貌似柔性很低。所以就不放上来啦。:lol

xhq1954425 发表于 2009-10-15 16:15

:handshake ;P
页: [1]
查看完整版本: 关于autolisp系统命令"text"的调用。