文字跑位问题
求助大佬们,论坛看到这个代码,如何能让文字到左对齐基点呢(defun c:test(/ DATE EN N P1 SS)
(setvar "cmdecho" 0)
(if (setq ss (ssget "X" '((0 . "TEXT"))))
(progn
(setq n 0)
(repeat (sslength ss)
(setq en (ssname ss n) date (entget en) n (1+ n))
(if (= (cdr (assoc 72 date)) 0)
(progn
(setq p1 (cdr (assoc 10 date))
date (subst (cons 72 2) (assoc 72 date) date)
date (subst (cons 11 p1) (assoc 11 date) date)
)
(entmod date)
)
)
)
)
)
(princ)
)
(setq ob(vlax-ename->vla-object e) p0(cdr(assoc 10 (entget e))));保存插入点p0
...................;你的改变文字对正的代码
(vla-Move ob(vlax-3d-point (cdr(assoc 10 (entget e))))(vlax-3d-point p0));移到原插入点 wzg356 发表于 2022-7-10 10:02
(setq ob(vlax-ename->vla-object e) p0(cdr(assoc 10 (entget e))));保存插入点p0
...................; ...
大佬能帮完善一下吗:handshake 本帖最后由 wzg356 于 2022-7-10 10:44 编辑
(defun c:test( / DATE EN N P1 SS)
(setvar "cmdecho" 0)
(if (setq ss (ssget "X" '((0 . "TEXT"))))
(progn
(setq n 0)
(repeat (sslength ss)
(setq en (ssname ss n) date (entget en) n (1+ n))
(setq p0(cdr(assoc 10 date)) date72(assoc 72 date))
(if (= (cdr date72) 0)
(entmod (subst (cons 72 2) date72 date))
);直接修改对正----72/73码
;改变对正,插入点改变了,但是用entmod变不回来的
(setq ob(vlax-ename->vla-object en))
(vla-Move ob(vlax-3d-point (cdr(assoc 10 (entget en))))(vlax-3d-point p0))
;移动回原来插入点
)
)
)
(princ)
)
wzg356 发表于 2022-7-10 10:25
(defun c:test( / DATE EN N P1 SS)
(setvar "cmdecho" 0)
(if (setq ss (ssget "X" '((0 . "TEXT")) ...
entmod,用什么方法呢,来个完整代码吧:handshake 广易精通 发表于 2022-7-11 13:24
entmod,用什么方法呢,来个完整代码吧
没见注?在哪儿单用entmod变不回来
用移动不行? 直接用cad自带命令不就可以嘛,justifytext ssyfeng 发表于 2022-9-2 16:33
直接用cad自带命令不就可以嘛,justifytext
那样文字只在原位啊
页:
[1]