明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 718|回复: 5

[提问] 求助:lisp中调用多行文字命令如何不换行输入

[复制链接]
发表于 2020-9-9 16:57:31 | 显示全部楼层 |阅读模式
本帖最后由 执骨哟 于 2020-9-9 17:01 编辑

刚好在明经里看到有坛友问如何用lisp写入多行文字,解答的同时顺便求助一下各位大佬!原问题链接http://bbs.mjtd.com/forum.php?mo ... =1&extra=#pid876139
  1. (defun c:xx()
  2.      (setq osm (getvar "osmode"));
  3.      (setvar "osmode" 16383)
  4.      (setq a1 "1.0"
  5.            a2 "2.0"
  6.            a3 "3.0"
  7.            a4 "4.0"
  8.            zb1 (list 0 0)
  9.            )
  10.      (command "mtext" zb1 "W" "0" "传热系数为:" a1 "翅片节距为:" a2 "经计算传热面基为:" a3 "传热系数为:" a4 "")
  11. (princ)
  12. )

源码生成图中生成的文字均被换行处理了,请问各位大佬有什么方法能让显示的结果如效果图一样?
个人猜想可能是有特定的符号代表不换行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-9-9 17:42:26 | 显示全部楼层
下次提问想周全一点

(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 hhh  a1txt (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)
)

评分

参与人数 1明经币 +1 金钱 +20 收起 理由
执骨哟 + 1 + 20 谢谢大佬!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2020-9-9 17:04:36 | 显示全部楼层
(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)
)
 楼主| 发表于 2020-9-9 17:07:04 | 显示全部楼层
start4444 发表于 2020-9-9 17:04
(defun c:xx()
     (setq osm (getvar "osmode"));
     (setvar "osmode" 16383)

谢谢大佬的解答,但是里面的a1-a4是变量,不是固定的数值,前面的文字是固定的,后面的数值是输入或者计算得出的,再次感谢
 楼主| 发表于 2020-9-9 17:15:45 | 显示全部楼层
本帖最后由 执骨哟 于 2020-9-9 17:18 编辑

抱歉,是我问题描述的不够详尽,下面更正一下,a1、a2、a3、a4均为变量值,如何保证计算变量的同时生成效果图,修改后的源码如下
  1. (defun c:xx()
  2.      (setvar "cmdecho" 0)
  3.      (setq osm (getvar "osmode"))
  4.      (setvar "osmode" 16383)
  5.      (SETQ HHH (GETINT "\n输入传热系数<1>"))
  6.      (IF (NOT HHH) (SETQ HHH 1))
  7.      (setq a1 hhh
  8.            a2 (+ a1 5)
  9.            a3 (+ a2 5)
  10.            a4 (+ a3 5)
  11.            zb1 (list 0 0)
  12.            )
  13.      (command "mtext" zb1 "W" "0" "传热系数为:" a1 "翅片节距为:" a2 "经计算传热面基为:" a3 "传热系数为:" a4 "")
  14. (princ)
  15. )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2020-9-9 17:45:51 | 显示全部楼层
start4444 发表于 2020-9-9 17:42
下次提问想周全一点

(defun c:xx (/ a1 a1txt a2 a2txt a3 a3txt a4 a4txt hhh osm zb1)

谢谢大佬解惑!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-17 21:40 , Processed in 0.186328 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表