从lisp插入文本
是否可以从lisp自动插入文本,我试过了,但没用。。。。
(command "dtext"
pt1 ; variable for insertion point
"" ; scale
"" ; rotation
pt1Z ; variable for text
""
我用光标手动插入文本, 我认为你必须在变量前面加一个!
(command "DTEXT" !pt1 "" "" "my text" "")
您可能还需要一个“”表示文字高度。 嗨,莫戈斯,欢迎来到CADtutor,
如果我是你,我会使用entmake插入你的文本,因为它更可靠。-有时,内置ACAD文本插入器会假设文本高度或旋转或两者兼有,因此会改变提示的顺序。 类似这样:
如果不希望创建文本层(如果还没有文本层),请删除蓝线,并相应地更改红色部分以满足您的需要 以下是我使用的两个子例程:
多行文字
(defun makeMTEXT (pt txt width txtsize / entl)
(setq entl (list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(100 . "AcDbMText")
(cons 10 pt)
&nb22)
(cons 1 val2)
(cons 7 tstyle)
(cons 10 p1)
(cons 40 theight)
(cons 41 1)
(cons 50 0)
)
)
(entmake txt1)
) 我也会使用entmakex,但要使用命令,请使用以下命令:
;; If text height is undefined (signified by 0 in the table)
(if (zerop (cdr(assoc 40(tblsearch "style" (getvar "textstyle")))))
;; Draw the text using the current text height (textsize)
(command ".text" "c" "_non" txtpt "" L_Angle txt)
;; Otherwise use the defined text height
(command ".text" "c" "_non" txtpt L_Angle txt)
) ; endif 谢谢大家的快速回复,
我刚开始工作,
谢谢李简洁完整的代码,
今天晚些时候我会试试这些,
摩门教徒。
很好的一个CAB,我的LISP的一个更小更简单的解决方案-但是entmakex和entmake之间的区别是什么? 我喜欢这些问题。
entmake返回部分实体列表,而entmakex返回ent名称。
我觉得这更有用。 好的,谢谢
这是否会改变您使用它们的方式,就像文本示例一样,它是否像用entmakex替换entmake一样简单?
页:
[1]
2