Kay 发表于 2022-7-6 15:01:49

Txt2mtxt

我试图找到一个lisp例程,它可以将dtext转换为mtext,同时保留我的tspacefac和tspacetype设置。我需要tspacetype是精确的,tspacefac是1.029。我喜欢TXT2MDTXT命令,但它会一直重置为autocad默认值,这不符合我们的目的。
 
谢谢你给我的指导。

lpseifert 发表于 2022-7-6 15:12:33

试试这个

(defun c:T2M+ (/ ss obj)
(setq ss (ssget '((0 . "*text"))))
(vl-cmdf "txt2mtxt" ss "")
(setq obj (vlax-ename->vla-object (entlast)))
(vlax-put-property obj 'LineSpacingFactor 1.029)
(vlax-put-property obj 'LineSpacingStyle 2)
(princ)
)

Kay 发表于 2022-7-6 15:19:36

谢谢你的帮助。例程完成文本到多行文字部分,但在尝试执行tspacefac时挂起。这是错误消息
 
选择对象:
删除了13个文字对象,添加了1个多行文字对象。
命令:;错误:没有函数定义:VLAX-ENAME->VLA-OBJECT。
 
我尝试将行距因子更改为tspacefac,这是变量的名称,但没有成功。我试着用引号将变量括起来,但仍然没有成功。
 
我少量的lisp经验对我来说不太好。你还有其他建议吗?

dani 发表于 2022-7-6 15:27:45


<

lpseifert 发表于 2022-7-6 15:33:51

哎呀,这不是我第一次忘记添加(vl load com),这是在我的acaddoc中。lsp文件。

Kay 发表于 2022-7-6 15:36:10

非常感谢!它正是我所需要的。

Lee Mac 发表于 2022-7-6 15:44:02

Kay,我建议在你的ACADDOC中拨打(vl load com)。lsp文件(如果您已经创建了一个),因为如果多次调用它,则不会有任何问题。

Kay 发表于 2022-7-6 15:50:36

我真的需要更新我的编程技能。我基本上是一个编剧谁设法做一些Lisp程序。我认为为我创建的例程lpsiefert是使用visual lisp完成的。在acaddoc中是否具有代码(vl load com)。lsp适用于标准lisp例程还是仅适用于visual lisp例程?有传言称vba即将退出。这会影响lisp吗?
 
谢谢你的评论。我总是在论坛和博客网站上找到新信息。我们的绘图社区沉迷于分享,我很感激。

lpseifert 发表于 2022-7-6 15:57:56

来自帮助
大多数Visual Lisp函数(以VL开头的函数)都需要它。其他lisp函数不需要它。 
 
关于VBA、Vlisp等有很多讨论。我认为普遍的共识是Lisp,Vlisp将存在很长一段时间,但Acad的未来是。净值(到下周……)

Lee Mac 发表于 2022-7-6 16:02:49

vl load com将启用Visual LISP功能
 
关于VBA有很多讨论,请参阅此处了解更多详细信息。。。
页: [1]
查看完整版本: Txt2mtxt