wgij007 发表于 2019-12-9 17:29:30

能改为文本后面加后缀吗

(DEFUN C:FE()(SETQ SS(SSGET))(COMMAND"._DIMEDIT" "n""<>正面放电深5.1" SS "" ""))

这段标注加后缀,能改为文本加后缀与替代吗

hn10183051 发表于 2019-12-9 17:29:31

(defun c:888 ()

(if (setq ss (ssget '((0 . "TEXT"))))
(repeat (setq i (sslength ss))
   (setq ent (entget(ssname ss (setq i (1- i)))))
   (entmod (subst (cons 1 (strcat (cdr(assoc 1 ent)) "正面放电深5.1")) (assoc 1 ent) ent))
)
)
(princ)
)

lisperado 发表于 2019-12-10 02:56:20

本帖最后由 lisperado 于 2019-12-10 03:37 编辑

改为文本后面加后缀——是否说明:无论改变测量点,文本数值将保持而不更新?


(defun c:fe (/ lst ss)
(if (setq lst      '(measurement unitsformat primaryunitsprecision)
            ss      (ssget '((0 . "*DIMENSION")))
            )
    (foreach x (acet-ss-to-list ss)
      (setq x (vlax-ename->vla-object x))
      (and (vl-every '(lambda ($) (vlax-property-available-p x $))
                     lst
                     )
         (vla-put-textoverride
             x
             (strcat (apply 'rtos (mapcar '(lambda ($) (vlax-get x $)) lst))
                     " 正面放电深5.1"
                     )
             )
         )
      )
    (princ "\n选取无效?")
    )
(princ)
)

wgij007 发表于 2019-12-10 07:56:00

lisperado 发表于 2019-12-10 02:56
改为文本后面加后缀——是否说明:无论改变测量点,文本数值将保持而不更新?

这个无效呀要求效果如下就可了



wgij007 发表于 2019-12-10 13:45:22

本帖最后由 wgij007 于 2019-12-10 13:47 编辑

hn10183051 发表于 2019-12-10 08:54
(defun c:888 ()

(if (setq ss (ssget '((0 . "TEXT"))))

可以了,谢谢

wgij007 发表于 2019-12-10 16:04:07

本帖最后由 wgij007 于 2019-12-10 18:01 编辑

wgij007 发表于 2019-12-10 07:56
这个无效呀要求效果如下就可了
还是有点问题,1.单行文字与多行文字不能共用, 2.字体不是跟修改的文本字体一至。有办法解决吗。
页: [1]
查看完整版本: 能改为文本后面加后缀吗