求助:lisp中调用多行文字命令如何不换行输入
本帖最后由 执骨哟 于 2020-9-9 17:01 编辑刚好在明经里看到有坛友问如何用lisp写入多行文字,解答的同时顺便求助一下各位大佬!原问题链接http://bbs.mjtd.com/forum.php?mo ... =1&extra=#pid876139
(defun c:xx()
(setq osm (getvar "osmode"));
(setvar "osmode" 16383)
(setq a1 "1.0"
a2 "2.0"
a3 "3.0"
a4 "4.0"
zb1 (list 0 0)
)
(command "mtext" zb1 "W" "0" "传热系数为:" a1 "翅片节距为:" a2 "经计算传热面基为:" a3 "传热系数为:" a4 "")
(princ)
)
源码生成图中生成的文字均被换行处理了,请问各位大佬有什么方法能让显示的结果如效果图一样?
个人猜想可能是有特定的符号代表不换行。
下次提问想周全一点
(defun c:xx (/ a1 a1txt a2 a2txt a3 a3txt a4 a4txt hhh osm zb1)
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(setvar "osmode" 16383)
(SETQ HHH (GETINT "\n输入传热系数<1>"))
(IF (NOT HHH) (SETQ HHH 1))
(setq a1 hhha1txt (strcat "传热系数为:" (itoa a1))
a2 (+ a1 5) a2txt (strcat "翅片节距为:" (itoa a2))
a3 (+ a2 5) a3txt (strcat "经计算传热面基为:" (itoa a3))
a4 (+ a3 5) a4txt (strcat "传热系数为:" (itoa a4))
zb1 (getpoint "\n选择文字插入点:")
)
(command "mtext" zb1 "W" "0" a1txt a2txt a3txt a4txt "")
(setvar "osmode" osm)
(setvar "cmdecho" 1)
(princ)
) (defun c:xx()
(setq osm (getvar "osmode"));
(setvar "osmode" 16383)
(setq a1 "传热系数为:1.0"
a2 "翅片节距为:2.0"
a3 "经计算传热面基为:3.0"
a4 "传热系数为:4.0"
zb1 (getpoint)
)
(command "mtext" zb1 "W" "0" a1 a2 a3 a4 "")
(princ)
) start4444 发表于 2020-9-9 17:04
(defun c:xx()
(setq osm (getvar "osmode"));
(setvar "osmode" 16383)
谢谢大佬的解答,但是里面的a1-a4是变量,不是固定的数值,前面的文字是固定的,后面的数值是输入或者计算得出的,再次感谢 本帖最后由 执骨哟 于 2020-9-9 17:18 编辑
抱歉,是我问题描述的不够详尽,下面更正一下,a1、a2、a3、a4均为变量值,如何保证计算变量的同时生成效果图,修改后的源码如下
(defun c:xx()
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(setvar "osmode" 16383)
(SETQ HHH (GETINT "\n输入传热系数<1>"))
(IF (NOT HHH) (SETQ HHH 1))
(setq a1 hhh
a2 (+ a1 5)
a3 (+ a2 5)
a4 (+ a3 5)
zb1 (list 0 0)
)
(command "mtext" zb1 "W" "0" "传热系数为:" a1 "翅片节距为:" a2 "经计算传热面基为:" a3 "传热系数为:" a4 "")
(princ)
)
start4444 发表于 2020-9-9 17:42
下次提问想周全一点
(defun c:xx (/ a1 a1txt a2 a2txt a3 a3txt a4 a4txt hhh osm zb1)
谢谢大佬解惑!
页:
[1]