Alhazred 发表于 2022-7-6 10:41:54

编写文本

我有一条水平线,通过选择它的顶点,我的程序应该把文本放在该线的中心。
这是我写的代码,但它不起作用,问题发生在应该打印文本的时候
如果我放在那里(90 30.1),例程看起来不会在“命令”中回避ptc和pt1y。
ptc和pt1y的内容是正确的,我也尝试过没有rtos转换。
问题是什么?

SteveK 发表于 2022-7-6 11:04:59

快速猜测,您引用的是变量,这意味着它们被读取为它们的名称,而不是它们的值。请尝试(列出ptc pt1y),而不是“(ptc pt1y)。

Alhazred 发表于 2022-7-6 11:11:29

就是这样,我没有注意到“(……)之间的区别和(列表…)。
谢谢

Lee Mac 发表于 2022-7-6 11:24:46

 
这可能有助于:
 
撇号的解释:
http://www.cadtutor.net/forum/showpost.php?p=258390&postcount=20

BIGAL 发表于 2022-7-6 11:40:11

不确定您是否使用car cadr等,如果您的直线处于一个角度,您将获得真正的0.1偏移,可能如下所示?
 
defun c:ferri (/ pt1 pt2 pt2x ptc)
(setq pt1 (getpoint "\nSelect 1st point:"))
(setq pt2 (getpoint "\nSelect 2nd point:"))
(setq ang (angle pt1 pt2))
(setq dist (/ (distance pt1 pt2) 2.0) )
(setq ang2 (+ ang 1.5707))
(setq pt3 (polar pt1 ang dist))
(setq pt4 (polar pt3 ang 0.1))

(command "_text" "_justify" "_mc" pt4 ang 0.0 "Dummy text")

(princ)
)
 
下一步,若你们有直线,那个么你们可以选择直线而不是两点
 
2

Alhazred 发表于 2022-7-6 11:42:29

谢谢BIGAL,我现在正尝试对任何角度的线做同样的处理。
我试过使用你的代码,但它似乎对我不起作用,或者可能是我用错了。
我已经使用了您发布的第一个代码,但文本没有位于行的中间。
 
我已经编写了其他代码(即使我知道它是错的),但根据线条的角度,文本会更靠近或穿过线条。
这是结果

 
如何使文本始终与直线保持相同的距离并居中?
页: [1]
查看完整版本: 编写文本