sundyy 发表于 2005-12-21 23:10:00

修改属性块中各属性的特性

<BR><FONT face=宋体 size=2>;;程序名称:修改属性块中各属性的特性<BR>;;执行命令:TT<BR>;;程序功能:将选定的属性块对象中的各属性的特性,如字体、颜色等改变。<BR>;;作者:SUNDYY<BR>;;<BR>(defun c:TT (/ selobjs)<BR>&nbsp; (setq selobjs (ssget))&nbsp; ;修改用户选择集中属性块的属性<BR>&nbsp; ;;(setq selobjs (ssget "X" '((0 . "INSERT"))));自动修改所有属性块的属性<BR>&nbsp; (if (not selobjs)<BR>&nbsp;&nbsp;&nbsp; (princ "\n没有选择对象!")<BR>&nbsp;&nbsp;&nbsp; (change-att selobjs)<BR>&nbsp; )<BR>&nbsp; (princ)<BR>)<BR>(defun change-att (selobjs / ss_count ss_name ss_att)<BR>&nbsp; (vl-load-com)<BR>&nbsp; (setq ss_count 0)<BR>&nbsp; (repeat (sslength selobjs)<BR>&nbsp;&nbsp;&nbsp; (setq ss_name (ssname selobjs ss_count))<BR>&nbsp;&nbsp;&nbsp; (if (and (setq ss_att (entget ss_name))<BR>&nbsp;&nbsp;&nbsp;&nbsp; (= (cdr (assoc 0 ss_att)) "INSERT")<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<BR>(if (= (cdr (assoc 66 ss_att)) 1)<BR>&nbsp; (progn ;下面是设置属性(针对增强属性编辑器中的文字选项和特性),可以使用变量,由用户输入<BR>&nbsp;&nbsp;&nbsp; (mapcar '(lambda (x)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-layer x "text-en")&nbsp; ;设置层为text-en<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-color x acbylayer)&nbsp; ;设置颜色随层<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-stylename x "ENTXT");设置字体样式为自定义的ENTXT<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-height x 3) &nbsp;&nbsp;&nbsp; ;设置字体高度为3,此处可以加一个图纸比例<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-scalefactor x 0.7)&nbsp; ;设置宽度比例为0.7<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;......<BR>&nbsp;&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; (safearray-value<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (variant-value<BR>(vla-getattributes<BR>&nbsp; (vlax-ename-&gt;vla-object ss_name)<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp; )<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; (setq ss_count (1+ ss_count))<BR>&nbsp; )<BR>)<BR>(princ "\n程序已加载,输入TT命令执行。")<BR></FONT>
页: [1]
查看完整版本: 修改属性块中各属性的特性