实例介绍
适用AUTOCAD自定义命令
【
(defun _myerr(s)(if (/= s "Function cancelled")
(if (/= s "quit / exit abort")
(princ (strcat "\nError: " s))
)
)
(setq *error* olderr)
(unload_dialog index_value)
(princ)
)
(defun C:CHGSTYLE( / x total_list style_list
every_list index_value setup)
(setq olderr *error* *error* _myerr)
(setq x (tblnext "STYLE" T))
(while x
(setq every_list (list (cdr (assoc 2 x))
(strcat (cdr (assoc 3 x)) "," (cdr (assoc 4 x)))
(cdr (assoc 40 x))
(cdr (assoc 41 x))
(cdr (assoc 50 x))
(cdr (assoc 70 x))
(cdr (assoc 71 x))
)
)
(setq total_list (append total_list (list every_list)))
(setq style_list (append style_list (list (cdr (assoc 2 x)))))
(setq x (tblnext "STYLE"))
)
(if (not (member txtstyle style_list))
(setq txtstyle (getvar "textstyle"))
)
(defun setup (mark / style umark)
(setq style (nth mark total_list) umark "")
(setq txtstyle (nth 0 style))
(set_tile "style_edit" (nth 0 style))
(set_tile "font" (nth 1 style))
(set_tile "height" (rtos (nth 2 style) 2 0))
(set_tile "width" (rtos (nth 3 style) 2 1))
(set_tile "oblique" (rtos (/ (* 180.0 (nth 4 style)) pi) 2 0))
(if (= (logand (nth 6 style) 2) 2)
(setq umark (strcat umark "Backwards "))
)
(if (= (logand (fix (nth 6 style)) 4) 4)
(setq umark (strcat umark "Upside-down "))
)
(if (= (logand (fix (nth 5 style)) 4) 4)
(setq umark (strcat umark "Vertical"))
)
(if (= umark "")
(setq umark "Normal")
)
(set_tile "gen" umark)
)
(defun chg_style ( txtstyle / a ss1 n m s1 tet tet1 e)
(setq a 1)
(while (<= a 1000000)
(setq ss1 (ssget))
(if (null ss1)
(setq a 1000000)
(progn
(setq n (sslength ss1) m 0)
(while (< m n)
(setq s1 (ssname ss1 m))
(setq tet1 (strcase "TEXT"))
(setq tet (cdr (assoc 0 (entget s1))))
(if (= tet tet1)
(progn
(setq e (entget s1))
(setq e (subst (cons 7 txtstyle) (assoc 7 e) e))
(entmod e)
)
)
(setq m ( m 1))
)
)
)
(setq a ( a 1))
)
(princ)
)
(defun init( )
(if (member txtstyle style_list)
(done_dialog 1)
(set_tile "error" "字型无效.")
)
)
(if (> (setq index_value (load_dialog "user")) 0)
(progn
(if (new_dialog "txtstyle" index_value)
(progn
(start_list "style_list")
(mapcar 'add_list style_list)
(end_list)
(setup (- (length style_list) (length (member txtstyle style_list)) ))
(action_tile "style_list" "(set_tile \"error\" \"\")(setup (atoi $value))")
(action_tile "style_edit" "(setq txtstyle $value)")
(action_tile "accept" "(init)")
(action_tile "cancel" "(done_dialog 0)(quit)")
(start_dialog)
(chg_style txtstyle)
)
(alert " 不能显示对话框! ")
)
(unload_dialog index_value)
)
(alert " 不能装入对话框! ")
)
(setq *error* olderr)
(redraw)
(princ)
)
(princ)
实例简介】
【实例截图】
【核心代码】
标签: 改变文字样式
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论