注册 登录
明经CAD社区 返回首页

snddd2000的个人空间 http://www.mjtd.com/?393651 [收藏] [复制] [分享] [RSS]

日志

[函数]AutoCAD.Lisp文字样式的新建和修改

热度 2已有 1970 次阅读2013-1-29 15:18 |系统分类:应用| LISP, 文字样式

献给不喜欢用command的坛友们。

有则改之,无则新建

(defun sn:settextstyle
;;; 示例:(sn:settextstyle "123" (list (cons 40 3) (cons 41 1)(cons 50 0)(cons 71 0)) (list "txt.shx" "hztxt.shx"))
;;; 或(sn:settextstyle "123" (list (cons 40 3) (cons 41 1)(cons 50 0)(cons 71 0)) (list "宋体"))
;;; 返回:T or nil
;;; 需要的话先运行(vl-load-com)
(textstylename proplst shxlist / oTextStyle textstylelst )
(cond ((= (length shxlist) 1)
(sn:settextstyle textstylename proplst (list "" ""))
(setq oTextStyle
(vla-item
(vla-get-textstyles
(vla-get-activedocument (vlax-get-acad-object))
)
textstylename
)
)
(vla-setfont
oTextStyle
(car shxlist)
:vlax-false
:vlax-false
0
0
)
t
)
((= (length shxlist) 2)
(if (tblsearch "style" textstylename)
(progn ;_exist
(setq textstylelst
(entget (tblobjname "style" textstylename))
)
(mapcar '(lambda (x)
(setq textstylelst
(subst x
(assoc (car x) textstylelst)
textstylelst
)
)
)
(append proplst
(list (cons 3 (car shxlist))
(cons 4 (cadr shxlist))
)
)
)
(entmod textstylelst)
t
)
(progn ;_not exist
(entmake (append (list
(cons 0 "STYLE")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbTextStyleTableRecord")
(cons 2 textstylename)
(cons 70 0)
(cons 3 (car shxlist))
(cons 4 (cadr shxlist))
)
proplst
)
)
t
)
)
)
(t nil)
)
) ;_end defun


路过

雷人
2

握手

鲜花

鸡蛋

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-29 20:34 , Processed in 0.100944 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部