明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1454|回复: 11

[提问] 刷同标注时如何保证不增加小数点

[复制链接]
发表于 2022-12-18 09:59:48 | 显示全部楼层 |阅读模式
以下为论坛某个刷标注相同的源码,使用下来发现刷同后会在标注值后面增加3位小数,请问,如果实现刷同标注后标注精度不发生改变呢?
;;标注刷同
(DEFUN c:bzst ()
  (setvar "cmdecho" 0)
  (command ".undo" "be")
  (prompt "\n请选择样本标注")
  (setq s1 (entsel ))
(setq len_data (entget  (car s1) ))
(setq ss1 (cdr (assoc 42 len_data)))
(setq ss2  (cdr (assoc 1 len_data)))
(setq oldzim (getvar "DIMZIN"))
(setvar "DIMZIN" 1)
(if (= ss2 "")
  (setq SS2 (rtos SS1))
)
(setvar "DIMZIN" oldzim)
  (princ ss2)
  (prompt "\n请选择要改写的标注")
  (setq s2 (ssget '((0 . "dimension"))))
  (setq i 0)
  (repeat (sslength s2)
    (setq len_data (entget (ssname s2 i)))
    (setq len_data (subst (cons 1  ss2)
           (assoc 1 len_data)
           len_data
          )
    )
    (entmod len_data)
    (setq i (1+ i))
  )
(command ".undo" "e")
(setvar "cmdecho" 1)
  (princ)
)

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-12-19 13:41:36 | 显示全部楼层
(defun c:tt ()
  "尺寸标注刷"
  (if (progn (setq s1 (car (entsel "\n请选择样本标注: ")))
             (prompt "\n请选择要改写的标注")
             (setq s2 (ssget '((0 . "dimension"))))
      )
    (progn
      (setq en        (entget s1)
            d42        (cdr (assoc 42 en))
            d1        (cdr (assoc 1 en))
            d1        (if (= d1 "")
                  (rtos d42 2 0)
                  d1
                )
            i        -1
      )
      (repeat (sslength s2)
        (setq en (entget (ssname s2 (setq i (1+ i))))
              en (subst        (cons 1 d1)
                        (assoc 1 en)
                        en
                 )
        )
        (entmod en)
      )
    )
  )
  (princ)
)

评分

参与人数 1明经币 +1 金钱 +5 收起 理由
注册 + 1 + 5 赞一个!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-12-19 16:32:29 | 显示全部楼层
xyp1964 发表于 2022-12-19 13:41
(defun c:tt ()
  "尺寸标注刷"
  (if (progn (setq s1 (car (entsel "\n请选择样本标注: ")))

院长出手就是牛啊
发表于 2022-12-18 10:59:00 | 显示全部楼层
试 了下你发的源码,没有你说的后面有小数点,标注设置里面的问题吧,改下设置就可以了应该
 楼主| 发表于 2022-12-18 13:03:21 | 显示全部楼层
完整武器 发表于 2022-12-18 10:59
试 了下你发的源码,没有你说的后面有小数点,标注设置里面的问题吧,改下设置就可以了应该

好的,下次试试,谢谢
发表于 2022-12-18 15:40:47 | 显示全部楼层
你在代码后边加上精度控制变量就可以了,这样保证你的精度
 楼主| 发表于 2022-12-18 19:29:53 | 显示全部楼层
zhangcan0515 发表于 2022-12-18 15:40
你在代码后边加上精度控制变量就可以了,这样保证你的精度

盼赐教,能详细说一下或帮改一下吗?
发表于 2022-12-18 23:11:48 | 显示全部楼层
注册 发表于 2022-12-18 19:29
盼赐教,能详细说一下或帮改一下吗?

帮你测试了,你自身的代码有问题啊。加了那个变量更新后没有反应。需要重新写
发表于 2022-12-19 00:23:27 | 显示全部楼层
CAD的原有命令:ma,就能实现该功能
发表于 2022-12-19 07:58:47 | 显示全部楼层
_aidimprec 修改标注精度
 楼主| 发表于 2022-12-19 08:04:54 | 显示全部楼层
liunian0524 发表于 2022-12-19 07:58
_aidimprec 修改标注精度

谢谢兄台,貌似还是不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 06:36 , Processed in 0.203468 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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