[编程申请]:entmake创建单行文字
请各位帮忙这个问题很麻烦,在使用ENTMAKE创建单行文字的时候,如果单行文字是默谁的对齐方式的话,那创建就没什么麻烦.但是如果需要创建非默认对齐方式的文本(如正中\,右上\,右下)就出现问题了,写好对齐方式组码的值,以及对齐点的坐标,但是无法求出插入点的坐标.使得无法创建指定对齐方式的单行文字,即使创建了也自动对齐到了(0,0,0)这个位置.
不知除了使用(command)方法外还有其它方式创建指定对齐方式的单行文本吗?
;entmake建立单行文本晓东 zxq0220 2007.12.15
(defun mktext (txt pt hi ang style layer al)
(setq al (strcase al nil) pt1 '(0.0 0.0 0.0))
(cond
((= al "TL") (setq a72 0 a73 3 pt1 pt))
((= al "TC") (setq a72 1 a73 3 pt1 pt))
((= al "TR") (setq a72 2 a73 3 pt1 pt))
((= al "ML") (setq a72 0 a73 2 pt1 pt))
((= al "MC") (setq a72 1 a73 2 pt1 pt))
((= al "MR") (setq a72 2 a73 2 pt1 pt))
((= al "L") (setq a72 0 a73 0 pt1 pt))
((= al "C") (setq a72 1 a73 0 pt1 pt))
((= al "R") (setq a72 2 a73 0 pt1 pt))
((= al "BL") (setq a72 0 a73 1 pt1 pt))
((= al "BC") (setq a72 1 a73 1 pt1 pt))
((= al "BR") (setq a72 2 a73 1 pt1 pt))
((= al "A") (setq a72 3 a73 0 pt1 (getpoint pt "\nNextPoint :")))
((= al "M") (setq a72 4 a73 0 pt1 pt))
((= al "F") (setq a72 5 a73 0 pt1 (getpoint pt "\nNextPoint :")))
(T (setq a72 0 a73 0 pt1 pt))
)
(entmake
(list
'(0 . "TEXT")
'(100 . "AcDbEntity")
'(67 . 0)
'(410 . "Model")
(cons 8 layer)
'(100 . "AcDbText")
(cons 10 pt)
(cons 40 hi)
(cons 1 txt)
(cons 50 ang)
'(41 . 1.0)
'(51 . 0.0)
(cons 7 style)
'(71 . 0)
(cons 72 a72)
(cons 11 pt1)
'(210 0.0 0.0 1.0)
'(100 . "AcDbText")
(cons 73 a73)
)
)
)
谢谢二楼朋友的代码,通过测试已经可以生成单行文字. 谢谢二楼朋友的代码,通过测试已经可以生成单行文字. *-*3 用entmake生成的字体,宽度比例好像就是1.0,能改成文字样式的比例么,譬如0.7 zxq0220 发表于 2007-12-15 21:05
;entmake建立单行文本晓东 zxq0220 2007.12.15
(defun mktext (txt pt hi ang style layer al)
(set ...
怎么使用快捷键呢
页:
[1]