匆匆肥马 发表于 2019-9-30 16:09:45

执行多行文字命令就等于比例X7

大家好!我想请教
我每次 执行多行文字MTEXT命令,就让TEXTSIZE(多行文字高度)=dimscale(绘图比例)*7,

应该怎么写 LSP呢?


拜托了!!!:lol

caoyin 发表于 2019-10-1 00:53:57

本帖最后由 caoyin 于 2019-10-1 00:55 编辑

可以编一个自己多行文字命令,比如:
(defun c:MyMText ()
(setvar 'TEXTSIZE (* (getvar 'DIMSCALE) 7))
(vla-SendCommand (vla-get-ActiveDocument (vlax-get-acad-object)) "_.MText ")
(princ)
)

如果要监测所有方式调用Mtext命令,则要构建一个反应器
(vlr-command-reactor nil '((:vlr-commandWillStart . MyMTextCmdCallBack)))

(defun MyMTextCmdCallBack (A B)
(if (= (car B) "MTEXT")
    (setvar 'TEXTSIZE (* (getvar 'DIMSCALE) 7))
)
)

匆匆肥马 发表于 2019-10-2 20:32:52

caoyin 发表于 2019-10-1 00:53
可以编一个自己多行文字命令,比如:
(defun c:MyMText ()
(setvar 'TEXTSIZE (* (getvar 'DIMSCALE) 7 ...

谢谢版主!你后面的这段话,应该加到哪里?

caoyin 发表于 2019-10-3 18:43:34

匆匆肥马 发表于 2019-10-2 20:32
谢谢版主!你后面的这段话,应该加到哪里?

加载代码就行,加载后你测试MTEXT命令看看是不是你要的效果
页: [1]
查看完整版本: 执行多行文字命令就等于比例X7