adc 发表于 2014-5-29 09:59
我这里为什么提示这样 ; 错误: 参数类型错误: lentityp nil
请尝试,将通用函数的make_text_b- (defun make_text_b( pt-text10 ang hei ali str layername / temp-list ucszdir)
- ;函数make_text,参数pt-text10 插入点,layername 图层名,str文字内容。返回值,文字。局限在72取1,即居中
- ;Desiged by 林霄云 2014年2月12日
- ;如果组 72 和/或 73 的值非零,则第一对齐点的值将被忽略,AutoCAD 将根据第二对齐点和文字字符串的长度和高度(应用文字样式之后)计算新值。如果组 72 和 73 的值为零或缺失,第二对齐点将没有意义。
- (setq ucszdir (trans '(0 0 1) 1 0 T ));生成OCS法向量
- (setq temp-list (list '(0 . "TEXT") '(62 . 2) (cons 1 str)
- (cons 8 layername)(cons 10 pt-text10)(cons 11 pt-text10)(cons 50 ang) (cons 40 hei) '(41 . 0.7) '(7 . "G_text") (cons 72 ali)
- (cons 210 ucszdir))) ;(cons 11 pt-text11)
- (EntMakex temp-list)
- );defun
修改为- (defun make_text_b( pt-text10 ang hei ali str layername / temp-list ucszdir)
- ;函数make_text,参数pt-text10 插入点,layername 图层名,str文字内容。返回值,文字。局限在72取1,即居中
- ;Desiged by 林霄云 2014年2月12日
- ;如果组 72 和/或 73 的值非零,则第一对齐点的值将被忽略,AutoCAD 将根据第二对齐点和文字字符串的长度和高度(应用文字样式之后)计算新值。如果组 72 和 73 的值为零或缺失,第二对齐点将没有意义。
- (setq ucszdir (trans '(0 0 1) 1 0 T ));生成OCS法向量
- (setq temp-list (list '(0 . "TEXT") '(62 . 2) (cons 1 str)
- (cons 8 layername)(cons 10 pt-text10)(cons 11 pt-text10)(cons 50 ang) (cons 40 hei) '(41 . 0.7)(cons 7 (getvar 'textstyle)) (cons 72 ali)
- (cons 210 ucszdir))) ;(cons 11 pt-text11)
- (EntMakex temp-list)
- );defun
即,把文字样式,定为当前文字样式。- (cons 7 (getvar 'textstyle))
复制代码 |