马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×

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