matthewrussell 发表于 2022-7-6 17:41:23

我找到了原因。我必须将lisp中使用的textstyle设置为当前的textstyle。然而,这让我感到困惑,因为代码本身有(setvar“TEXTSTYLE”BMD isocp),这是为了设置命令的样式。

matthewrussell 发表于 2022-7-6 17:44:25

我想出来了。所以它工作正常。剩下的唯一问题是。有没有可能这样做,如果你想在中输入更多的文本,你必须再次运行该命令。
 
因此,在选定的点中键入文本后,完成。而不是要求更多的文本。不确定要在编码中更改什么才能做到这一点。
 
出于某种原因,它还会将文本放在文本框的底部。它是通过在实际测试上方放置空行来实现的。
 
这只是我同事的反馈。他们对你写的代码很满意
 
干杯

jammie 发表于 2022-7-6 17:46:51

也许这会有帮助,一种获取用户输入的替代方法,可以合并到上述代码中
 

(command "mtext" pause"H" "3.5" pause "");<create an empty mtext
(command "_mtedit" (entlast))            ;<editmtext, when completed the function will continue

 
干杯

Lee Mac 发表于 2022-7-6 17:51:31

也许像这样:
 
---2.5文本---(定义c:25text(/*error*varLst oldVars pt);--错误陷阱---(defun*Error*(msg)(mapcar'setvar varLst oldVars)(if(=msg“”)(princ“\n函数完成。”)(普林斯“\n按了错误或Esc…”);_结束if(princ));结束*错误*(setq varLst(list“CMDECHO”“CLAYER”“TEXTSTYLE”“TEXTSIZE”)oldVars(mapcar'getvar varLst));结束setq;--错误陷阱---(setvar“cmdecho”0)(if(not(tblsearch“layer”“25T”))(命令“-layer”“m”“25T”“”)(setvar“clayer”“25T”);_结束if(setvar“textstyle”“BMD isocp”)(setvar“textsize”2.5)(while(/=(setq pt(getpoint”\n为文本指定点:))nil)(命令“-mtext“pt pause”);

matthewrussell 发表于 2022-7-6 17:54:59

哦,是的,我知道你做了什么。您在旧命令所在的位置添加了文本,并删除了与之配套的其他行,还添加了用户输入行。
 
再次感谢你的帮助李

Lee Mac 发表于 2022-7-6 17:57:45

没问题,马特-很乐意帮忙

matthewrussell 发表于 2022-7-6 18:02:00

Lee Mac 发表于 2022-7-6 18:07:09

No probs matt - happy to help
页: 1 [2]
查看完整版本: 文字按钮Lisp