广易精通 发表于 2022-7-10 09:52

文字跑位问题

求助大佬们,论坛看到这个代码,如何能让文字到左对齐基点呢


(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)
)

wzg356 发表于 2022-7-10 10:02

(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));移到原插入点

广易精通 发表于 2022-7-10 10:10

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:25

本帖最后由 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)
)




广易精通 发表于 2022-7-11 13:24

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

wzg356 发表于 2022-7-12 17:15

广易精通 发表于 2022-7-11 13:24
entmod,用什么方法呢,来个完整代码吧

没见注?在哪儿单用entmod变不回来

用移动不行?

ssyfeng 发表于 2022-9-2 16:33

直接用cad自带命令不就可以嘛,justifytext

广易精通 发表于 2022-9-2 21:37

ssyfeng 发表于 2022-9-2 16:33
直接用cad自带命令不就可以嘛,justifytext

那样文字只在原位啊
页: [1]
查看完整版本: 文字跑位问题