andr3flaviano 发表于 2022-7-5 17:10:40

Lisp用于在等级库中插入文本

大家好!
我需要一个关于Lisp的简单问题的小帮助
我需要一个Lisp在autocad中的特定点插入特定文本。。。
 
示例:我想把数字5写在点上:
x=3
y=2
 
这很容易,但我现在不知道如何输入文本的坐标
谁能帮帮我吗??

BIGAL 发表于 2022-7-5 17:37:34

容易的
 
; based on some form of values being obtained.
(setq x 3)
(setq y 2)
(setq ans "5")
(command "Text" (list x y) 0.25 0 ans)

lrm 发表于 2022-7-5 17:55:28

Bigal,如果默认文本高度为0.0,您的程序将工作,但如果文本高度>0.0,则将放置文本“0”。如果默认文字高度不是0.0,则text命令将少提示一次。有没有办法检查默认文字高度。
 
~李

BIGAL 发表于 2022-7-5 18:03:06

Lrm你是对的,有两种方法可以输入文本,一种是预设高度,另一种是高度=0.0。有几种方法可以解决这个问题。在发布示例代码时,要想知道如何发布文本总是很困难的。作为一种通用方法,我们在dwt中将文本样式设置为预设样式,然后我们知道高度是否为0.0。
 
; example of checking current text style has a preset height.
    (setq ts (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))))
    (if (zerop ts)
          (command "TEXT" "498,18" "3.5" "0" ans)
          (command "TEXT" "498,18" "0" ans)
    )      

lrm 发表于 2022-7-5 18:25:00

谢谢比格尔,这是困扰我很长时间的事情。
页: [1]
查看完整版本: Lisp用于在等级库中插入文本