明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: sunny_8848

新增修改标注内容功能

[复制链接]
发表于 2021-1-8 20:20:40 | 显示全部楼层
tssd就可以啊
但是这样干貌似不是个好习惯吧。。
回复

使用道具 举报

发表于 2021-1-8 20:42:57 | 显示全部楼层
自己用 不是什么问题  只要不是初级底图   基本影响不大
回复

使用道具 举报

发表于 2021-1-8 23:34:25 | 显示全部楼层
本帖最后由 muwind 于 2021-1-8 23:35 编辑

;允许部分替换,可能出现想不到的结果
;比如会把替换400成200会把2400换成2200
(defun c:tt ( / ss edat getdim N m str1 str2)  
     (setq str1 (getstring "\n 请输入需要替换的尺寸:")
               str2 (getstring "\n 您想替换成什么?:")
                   m 0
         )
     (setq ss (ssget  "x"  (list (cons 0 "dim*"))));选择所有尺寸
     (repeat (setq N (sslength SS))
             (setq getdim (ssname ss (setq N (1- N))))
             (setq edat ( getdimtext getdim))
                         (if (vl-string-search str1 edat )
                            (progn
                               (setq edat (vl-string-subst str2 str1 edat))
                                   (entmod (subst (cons 1 edat) (assoc 1 (entget getdim))  (entget getdim) ))
                                   (setq m (1+ m))
                                )
                          )         
     );repeat
        (if (> m 0)
      (princ (strcat "共" (rtos m 2 0) "个尺寸替换完成"))
      (princ "我很努力了,但什么忙也没帮上")  
     )
         (princ)
)
  1. ;全替换
  2. (defun c:tt ( / ss edat getdim N m str1 str2)  
  3.      (setq str1 (getstring "\n 请输入需要替换的尺寸数值:")
  4.                str2 (getstring "\n 您想替换成什么?:")
  5.                    m 0
  6.          )
  7.      (setq ss (ssget  "x"  (list (cons 0 "dim*"))));选择所有尺寸
  8.      (repeat (setq N (sslength SS))
  9.              (setq getdim (ssname ss (setq N (1- N))))
  10.              (setq edat ( getdimtext getdim))
  11.                          (if (= str1 edat )
  12.                             (progn
  13.                                    (entmod (subst (cons 1 str2) (assoc 1 (entget getdim))  (entget getdim) ))
  14.                                    (setq m (1+ m))
  15.                                 )
  16.                           )         
  17.      );repeat
  18.         (if (> m 0)
  19.       (princ (strcat "共" (rtos m 2 0) "个尺寸替换完成"))
  20.       (princ "我很努力了,但什么忙也没帮上")  
  21.      )
  22.          (princ)
  23. )

评分

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

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-1-9 07:57:21 | 显示全部楼层
本帖最后由 sunny_8848 于 2021-1-9 08:01 编辑
muwind 发表于 2021-1-8 23:34
;允许部分替换,可能出现想不到的结果
;比如会把替换400成200会把2400换成2200
(defun c:tt ( / ss edat g ...

谢谢帮忙,现在可以替换原始标注内容了,能否麻烦您在全替换代码的基础上加上(也是全替换)纯文本的功能
回复

使用道具 举报

发表于 2021-1-9 22:27:30 来自手机 | 显示全部楼层
继续跟大师们学习。
回复

使用道具 举报

发表于 2021-1-9 23:05:41 | 显示全部楼层
本帖最后由 muwind 于 2021-1-9 23:09 编辑
sunny_8848 发表于 2021-1-9 07:57
谢谢帮忙,现在可以替换原始标注内容了,能否麻烦您在全替换代码的基础上加上(也是全替换)纯文本的功能


  1. (defun c:tt ( / ss edat getssname getssdxf N m str1 str2 getsstype)  
  2.      (setq ss (ssget  "x"  (list (cons 0 "dim*,*text"))));选择所有尺寸和文本
  3.          (if ss
  4.            (progn
  5.                (setq str1 (getstring "\n 请输入需要替换的文本或数值:")
  6.                  str2 (getstring "\n 您想替换成什么?:")
  7.                  m 0   
  8.                     )
  9.            (repeat (setq N (sslength SS))
  10.              (setq getssname(ssname ss (setq N (1- N)))
  11.                       getssdxf(entget getssname)
  12.                       getsstype(strcase (cdr (assoc 0 getssdxf))))
  13.               (if (wcmatch getsstype "DIM*")
  14.                    (setq edat ( getdimtext getssname))
  15.                     (setq edat (cdr (assoc 1 getssdxf)))
  16.                 )
  17.              (if (= str1 edat )
  18.                    (progn
  19.                       (entmod (subst (cons 1 str2) (assoc 1 getssdxf)  getssdxf ))
  20.                       (setq m (1+ m))
  21.                    )
  22.               )
  23.          );repeat
  24.            )
  25.                  (princ "您的图纸很干净,木有尺寸也木有文本,我什么也做不了")
  26.           )
  27.       (if (> m 0)
  28.          (princ (strcat "共" (rtos m 2 0) "个尺寸或者文本替换完成"))
  29.          (princ "我很努力了,但什么忙也没帮上")  
  30.      )
  31.      (princ)
  32. )

评分

参与人数 1明经币 +1 金钱 +20 收起 理由
sunny_8848 + 1 + 20 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-1-11 07:54:38 | 显示全部楼层

谢谢您的热心帮忙,效果很不错
回复

使用道具 举报

发表于 2021-1-12 11:28:26 | 显示全部楼层
sunny_8848 发表于 2021-1-11 07:54
谢谢您的热心帮忙,效果很不错

贱人工具箱的超级修改功能可以啊
回复

使用道具 举报

 楼主| 发表于 2021-1-12 22:12:17 来自手机 | 显示全部楼层
整合不了这个工具
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:32 , Processed in 0.251898 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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