transman 发表于 2004-9-25 22:31:00

请问如何用entmake建立的字符串高度随样式

看了meflying斑竹的entmake txt,我深受启发,困扰我多日的用图元信息写入txt的方法终于可以实现.


我需要实现的功能很简单,点一个圆弧,然后把半径写在旁边,这些我都实现了.可是我发现字的高度不能改变,而每一次都getreal一下字的高度又太麻烦,


请问高手们有没有办法让我在第一次给了字的大小后第二次开始就默认用相同的大小.


最好是能够让字的高度随文字样式,那样都不用定义字的高度.


我编写的lisp如下(大部分都是抄ying的)


(defun c:wz()<BR>       (setq zj (entsel "\n 点取转角:"))<BR>       (setq zjin(entget (car zj)))<BR>       (setq zjinfo(assoc 40 zjin))<BR>       (setq zjbj(cdr zjinfo))<BR>       (setq zjbjz(strcat "R=" (rtos(cdr zjinfo) 2 2) "m"))<BR>       (setq loc(getpoint "点取所需要放置的位置:"))<BR>       (setq x(rtos(car loc) 2 3) y(rtos (cadr loc) 2 3))<BR>       (setq xx(atof x) yy(atof y))<BR>       (setq wz(list 10       xx yy 0))<BR>               (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity")<BR>               '(67 . 0) '(410 . "Model") '(100 . "AcDbText")<BR>                       wz       <BR>               (CONS 10 loc)<BR>               '(40 . 0)<BR>               (cons 1 zjbjz)<BR>               (cons 50 0)<BR>               '(41 . 1.0)       ;高度能不能随文字样式?我尝试了,好像不行.请高手教我.<BR>               '(51 . 0.0)<BR>        '(71 . 0)<BR>       '(72 . 0)<BR>               '(11 0 0 0)<BR>               '(210 0.0 0.0 1.0) '(100 . "AcDbText")<BR>               )<BR>       


)               )

小狼 发表于 2004-9-25 23:48:00

字体样式只有在用TEXT命令时才是默认值,在修改样式时,不会跟随样式变化,所以两这在TEXT实体建立后是没有联系的,也就是在TEXT组码中没有和样式连接的组码


如果想用 ENTMAKE 的话,可以先用


(tblsearch "style" 样式名)


如:


((0 . "STYLE") (2 . "宋体") (70 . 0) (40 . 4.0) (41 . 1.0) (50 . 0.0) (71 . 0) <BR>(42 . 2.0) (3 . "SIMSUN.TTF") (4 . ""))


取其样式字高的默认值,40是字高组码,2是样式名称,其它项没看,需要的话可以自己试试或看DXF帮助


取得字高后应该知道怎么做了吧

transman 发表于 2004-9-27 00:44:00

给你一朵小红花,谢谢你!
页: [1]
查看完整版本: 请问如何用entmake建立的字符串高度随样式