bbb120 发表于 2022-7-6 08:25:18

如何设置文本水平对齐

我的母语不是英语,但我想你可以理解我的理想。
谁可以提供lisp文件来实现这一目标?
请看下图:

谁可以提供lisp文件来实现这一目标?

Tharwat 发表于 2022-7-6 09:20:24

希望这有帮助。。。。。
 

(defun c:TesT (/ *error* acdoc ss p1 j sset e)
;;; Tharwat 16. jan. 2012 ;;;
(vl-load-com)
(defun *error* (msg)
   (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
       (princ (strcat "\n** Error: " msg " **"))
   )
   (princ)
)
(setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)))

(if (setq ss (ssget "_:L" '((0 . "TEXT"))))
   (progn
   (vla-StartUndoMark acdoc)
   (setq p1 (cdr (assoc 10 (entget (ssname ss 0)))))
   (repeat (setq j (sslength ss))
       (setq sset (ssname ss (setq j (1- j))))
       (setq e (entget sset))
       (entmod
         (subst (cons 10 (list (car (cdr (assoc 10 e))) (cadr p1)))
                (assoc 10 e)
                e
         )
       )
   )
   )
   (princ)
)
(vla-EndUndoMark acdoc)
(princ)
)

alanjt 发表于 2022-7-6 09:32:14

我不是在评论关于正当性的问题,也不是说不能真正选择用户希望匹配的文本对象。我只想让你重新评估一下代码的这一部分:
 
考虑少一些腿部工作:
 
替换:
(cons 10 (list (car (cdr (assoc 10 e))) (cadr p1)))
提取数据时,请考虑数据结构、最简单的操作方法以及最终的外观。
 
当然,这并没有考虑Z高程,但这对本课来说并不特别重要。
页: [1]
查看完整版本: 如何设置文本水平对齐