本帖最后由 437271963 于 2016-2-29 14:34 编辑
 - ;建立TSSD_Rein字体
- (defun TSSD_Rein ( / newt)
- (if (null (tblsearch "style" "TSSD_Rein"))
- (progn
- (if (null vlax-dump-object) (vl-load-com) )
- (setq newT (vla-add (vla-get-TextStyles (vla-get-activedocument (vlax-get-acad-object))) "TSSD_Rein"))
- (vla-put-fontfile newT "tssdeng.shx")
- (vla-put-bigfontfile newT "tssdchn.shx");大字体为hztxt
- (vla-put-height newT 0);高度0
- (vla-put-width newT 0.6);宽度因子0.6
- (vla-put-obliqueAngle newT (/ (* pi 3) 180));倾斜角度3
- )
- )
- )
- ;;修改文字为左对齐位置不变;;
- (defun C:tes ( / #g1 &k1 &kw1 &ob1 pt1 ss1 ss2 ss3 ss4 ss5 x)
- (setvar "cmdecho" 0)
- (setvar "blipmode" 0)
- (if (null vlax-dump-object) (vl-load-com) ) ;;加载vlax扩展函数
- (setq ss5 '((62 . 1) (40 . 300) (41 . 0.6) (7 . "TSSD_Rein")))
- (TSSD_Rein)
- (princ "\n请选择文字")
- (if (setq &kw1 (ssget '((0 . "TEXT"))));1
- (progn;;1
- (setq ss1 '(0 8) ss2 '(1 50 51))
- (while (setq &k1 (ssname &kw1 0));1
- (setq &kw1 (ssdel &k1 &kw1))
- (setq #g1 (entget &k1) &ob1 (vlax-ename->vla-object &k1))
- (setq ss3 (vl-remove-if-not '(lambda (X) (member (car x) ss1)) #g1))
- (setq ss4 (vl-remove-if-not '(lambda (X) (member (car x) ss2)) #g1))
- (setq pt1 (Vlax-SafeArray->List (Vlax-Variant-Value (vla-get-InsertionPoint &ob1))))
- (setq pt1 (list (car pt1) (cadr pt1)));坐标Z为0
- (vla-delete &ob1);删除原来的文字
- (setq ss4 (append ss5 ss4))
- (setq ss4 (cons (cons 10 pt1) ss4))
- (setq ss3 (append ss3 ss4))
- (entmake ss3);绘制文字
- );while;1
- );progn;1
- );if;1
- (prin1)
- )
|