明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1512|回复: 4

框选中《标注》文字 在文字中间画一条直线 然后输入新的标注并写在原有标注的上方

[复制链接]
发表于 2013-1-9 13:15 | 显示全部楼层 |阅读模式
起始的标注
运行LISP程序
框选中标注文字  例:50
在框选中的标注文字中心画线
用户自行输入需要更改的文字 并写在旧文字的上方
循环 框选 画线 写文字
当不用更改的时候
按esc键退出
更改过后的图样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-1-9 16:57 | 显示全部楼层
  1. (defun c:tt  (/ E MTEXT DIM DIMOBJ CP W H ROT STR TEXT)
  2.   (while (and
  3.         (setq e (nentsel "\n**选择标注文字:"))
  4.         (setq mtext (car e))
  5.         (= "MTEXT" (cdr (assoc 0 (setq mtext (entget mtext)))))
  6.         )
  7.       (setq text nil)
  8.       (vla-GetBoundingBox
  9.         (vlax-ename->vla-object (car e))
  10.         'll
  11.         'ur)
  12.       (setq cp (mapcar '*
  13.                        '(0.5 0.5 0.5)
  14.                        (mapcar '+
  15.                                (vlax-safearray->list ll)
  16.                                (vlax-safearray->list ur))))
  17.       (setq w        (cdr (assoc 42 mtext))
  18.             h        (* 1.5 (cdr (assoc 43 mtext)))
  19.             rot        (cdr (assoc 50 mtext))
  20.             )
  21.       (entmake
  22.         (list
  23.           '(0 . "line")
  24.           '(62 . 1)
  25.           (cons        10
  26.                 (polar cp rot (* 0.6 w)))
  27.           (cons        11
  28.                 (polar cp rot (* -0.6 w)))
  29.           )
  30.         )
  31.       (while (/= "" (setq str (getstring "\n输入文字:")))
  32.         (if (not text)
  33.           (progn
  34.             (entmake mtext)
  35.             (setq text (entlast))
  36.             (vla-move
  37.               (vlax-ename->vla-object text)
  38.               (vlax-3d-point cp)
  39.               (vlax-3d-point (polar cp (+ rot (* 0.5 pi)) h)))
  40.             (setq text (entget text))
  41.             )
  42.           (progn
  43.             (setq text (subst (cons 1 str) (assoc 1 text) text))
  44.             (entmod text)
  45.             )
  46.           )
  47.         )
  48.     )
  49.   (princ)
  50.   )

评分

参与人数 1明经币 +1 收起 理由
yjr111 + 1 赞一个!

查看全部评分

发表于 2013-1-9 17:55 | 显示全部楼层
Gu_xl 发表于 2013-1-9 16:57

(progn
            (setq text (subst (cons 1 str) (assoc 1 text) text))
            (entmod text)
            )
这段去掉(progn )后能正确运行
 楼主| 发表于 2013-1-10 09:45 | 显示全部楼层
去掉  (progn)  不能正确运行
添加上面文字时  地一次  不管你输上面  在上面都会显示原有的标注尺寸
 楼主| 发表于 2013-1-10 09:53 | 显示全部楼层
      能正常运行的   忘记了  上面的那个  progn   的括号  没拉下来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-7 13:37 , Processed in 1.014150 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表