明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 535|回复: 9

大神帮忙看下

[复制链接]
发表于 2023-10-19 21:35 | 显示全部楼层 |阅读模式
最后一步怎么没有更新标注显示?


(defun c:bz()
   (setvar "cmdecho" 0)
   (setq en (entsel "\n 选取尺寸标注"))
  
   (setq ZONGBIAO (entget (car en)))
        (setq OLDZIBIAO (assoc 42 ZONGBIAO))
             (setq OLDZIBIAOY (cdr OLDZIBIAO))
        (print OLDZIBIAOY)
             (princ "\n")
        (setq Y (getreal "\n 是否要更改尺寸?是请输入1.不是请输入0:"))
           (if (= Y 1)
              (progn (setq NEWZIBIAOY(getreal "\n 请输入新尺寸:"))
                       (setq ZONGBIAO (subst (cons 42 NEWZIBIAOY)  OLDZIBIAO  ZONGBIAO ))
                       (entmod ZONGBIAO)
                       
              )
              )
  (prin1)
  )


 楼主| 发表于 2023-10-19 21:37 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2023-10-19 21:57 | 显示全部楼层
本帖最后由 飞雪神光 于 2023-10-19 22:04 编辑

42 是实际测量值 不能改 你这个要改1 文字替代 或者改 13 14
 楼主| 发表于 2023-10-20 08:42 | 显示全部楼层
发表于 2023-10-20 08:45 | 显示全部楼层
  1. (defun c:bz ()
  2.   (setvar "cmdecho" 0)
  3.   (setq en (entsel "\n 选取尺寸标注"))
  4.   (setq ZONGBIAO (entget (car en)))
  5.   (setq OLDZIBIAO (assoc 42 ZONGBIAO))
  6.   (setq OLDZIBIAOY (cdr OLDZIBIAO))
  7.   (print OLDZIBIAOY)
  8.   (princ "\n")
  9. (if (not (setq        NEWZIBIAOY
  10.                  (getreal (strcat "\n 请输入新尺寸:<"
  11.                                   (vl-princ-to-string OLDZIBIAOy)
  12.                                   ">"
  13.                           )
  14.                  )
  15.           )
  16.      )
  17.    (setq NEWZIBIAOY OLDZIBIAOy)
  18. )
  19.   (if (or (/= OLDZIBIAOY NEWZIBIAOY)
  20.           (/= (vl-princ-to-string NEWZIBIAOY)
  21.               (cdr (assoc 1 (entget (car en))))
  22.           )
  23.       )
  24.     (progn
  25.       (setq ZONGBIAO (subst (cons 1 (vl-princ-to-string NEWZIBIAOY))
  26.                             (assoc 1 (entget (car en)))
  27.                             (entget (car en))
  28.                      )
  29.       )
  30.       (entmod ZONGBIAO)
  31.     )
  32.   )
  33.   (princ)
  34. )
 楼主| 发表于 2023-10-20 08:54 | 显示全部楼层
感谢各位大神,目前可以更改,还未学习到VLISP.

另外附上论坛前辈做的改尺寸,以及将修改尺寸变红。
还有一个问题就是,能否将修改后的尺寸按照新的数值重画并更新于屏幕?

本帖子中包含更多资源

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

x
发表于 2023-10-20 15:01 | 显示全部楼层
ferious 发表于 2023-10-20 08:54
感谢各位大神,目前可以更改,还未学习到VLISP.

另外附上论坛前辈做的改尺寸,以及将修改尺寸变红。

没太懂你的问题 图片里是修改的标注文字替代 且已经更新成功了 你要是想改实际测量值 需要去改13 或14 就没必要去改组码1
 楼主| 发表于 2023-10-21 11:10 | 显示全部楼层
更改标注并移动基线

(defun c:gbz()
   (setvar "cmdecho" 0)
   (setq en (entsel "\n 选取尺寸标注"))
   (setq zongbiao (entget (car en)))
        (setq zibiao1 (assoc 42 zongbiao ))
             (setq dim(cdr zibiao1))
               (princ "\n 标注实测值:")(princ dim)
                         (setq dim(getreal "\n 请输入新尺寸:"))
                          (setq oldzibiao2 (assoc 14 zongbiao))
                  (setq oldzibiao3 (assoc 13 zongbiao))
                           (setq pt1 (cdr oldzibiao3))
                           (setq pt2 (cdr oldzibiao2))
                          (setq X1 (cdr pt1))
                           (setq pt2  (list  (+ dim  ) (cadr pt2) (caddr pt2)))
                          (setq newzibiao2 (cons 14 pt2 ))
                          (setq zongbiao (subst newzibiao2  oldzibiao2  zongbiao ))
                   (entmod zongbiao)
       
  (prin1)
  )

本帖子中包含更多资源

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

x
 楼主| 发表于 2023-10-21 11:12 | 显示全部楼层
感谢大神指点
(defun c:gbz()
   (setvar "cmdecho" 0)
   (setq en (entsel "\n 选取尺寸标注"))
  
       (setq zongbiao (entget (car en)))
        (setq zibiao1 (assoc 42 zongbiao ))
             (setq dim(cdr zibiao1))
               (princ "\n 标注实测值:")(princ dim)
                         (setq dim(getreal "\n 请输入新尺寸:"))
                          (setq oldzibiao2 (assoc 14 zongbiao))
                  (setq oldzibiao3 (assoc 13 zongbiao))
                           (setq pt1 (cdr oldzibiao3))
                           (setq pt2 (cdr oldzibiao2))
                          (setq X1 (cdr pt1))
                           (setq pt2  (list  (+ dim  ) (cadr pt2) (caddr pt2)))
                          (setq newzibiao2 (cons 14 pt2 ))
                          (setq zongbiao (subst newzibiao2  oldzibiao2  zongbiao ))
                   (entmod zongbiao)
       
  (prin1)
  )
 楼主| 发表于 2023-10-21 11:27 | 显示全部楼层

(defun c:gbz()
   (setvar "cmdecho" 0)
   (setq en (entsel "\n 选取尺寸标注"))
  
       (setq zongbiao (entget (car en)))
        (setq zibiao1 (assoc 42 zongbiao ))
             (setq dim(cdr zibiao1))
               (princ "\n 标注实测值:")(princ dim)
                         (setq dim(getreal "\n 请输入新尺寸:"))
                          (setq oldzibiao2 (assoc 14 zongbiao))
                  (setq oldzibiao3 (assoc 13 zongbiao))
                           (setq pt1 (cdr oldzibiao3))
                           (setq pt2 (cdr oldzibiao2))
                          (setq X1 (car pt1))
                           (setq pt2  (list  (+ dim x1 ) (cadr pt2) (caddr pt2)))
                          (setq newzibiao2 (cons 14 pt2 ))
                          (setq zongbiao (subst newzibiao2  oldzibiao2  zongbiao ))
                   (entmod zongbiao)
      
  (prin1)
  )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 08:04 , Processed in 0.323289 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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