明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1675|回复: 9

[求助]求一个修改标注的小程序

[复制链接]
发表于 2008-5-15 11:43:00 | 显示全部楼层 |阅读模式
功能是这样的。运行某个命令后,输入数值,然后选择标注,被选到的标注不管以前的标注值是什么,都可以被刷成我最先用命令输入的数值。
发表于 2008-5-15 16:47:00 | 显示全部楼层
(defun c:test( / newdim ent)
  (setq newdim(getreal "\n输入新的标注值:"))
  (while (and (setq dim(entsel "\n选择要修改的标注:"))
          (ssget "p" '((0 . "DIMENSION")))
     )
    (setq ent(entget (car dim) '("*")))
    (setq ent(subst (cons 1 (rtos newdim)) (assoc 1 ent) ent))
    (entmod ent)
  )
)
发表于 2008-5-15 21:05:00 | 显示全部楼层
以上问题如未解决的话,联系:ljttjl@ tom.com
发表于 2008-5-15 21:56:00 | 显示全部楼层

一句话:

(command ".dim1" "new" (getstring "\n 输入固定数值:") (ssget '((0 . "*DIM*"))) "")

发表于 2008-5-15 22:22:00 | 显示全部楼层
楼上  牛
 楼主| 发表于 2008-5-22 17:11:00 | 显示全部楼层

都不行,第一个显示nil

第二个说不能加载重复的命令什么的

发表于 2020-9-9 09:40:43 | 显示全部楼层
直接编辑不好用吗!直接修改就是假尺寸了
发表于 2020-9-9 11:03:23 | 显示全部楼层
(defun C:fg( )
(princ "\n选择要修改的尺寸线:")
(setq ss (ssget))
(setq sl (sslength ss))
(setq txt "分格尺寸")
(setvar "cmdecho" 0)
(setq index 0)
(repeat sl
    (setq ent (entget (ssname ss index)))
    (setq index (+ 1 index))
    (setq ty (cdr (assoc 0 ent)))
    (if (= "DIMENSION" ty)
        (progn
         (setq oldtxt (assoc 1 ent))
         (setq newtxt (cons (car oldtxt) txt))
         (setq ent1 (subst newtxt oldtxt ent))
         (entmod ent1)
        ) ;progn end
    ) ;repeat end
)     ;while end
(setvar "cmdecho" 1)
)
发表于 2021-1-12 10:24:38 | 显示全部楼层
danxingpen 发表于 2008-5-15 16:47
(defun c:test( / newdim ent)  (setq newdim(getreal "\n输入新的标注值:"))  (while (and (set ...

如果要改成先选择要修改的标注,然后输入新的标准值,而且在输入新的标注值这一步如果直接空格,可以默认为上一次输入的值,这个应该怎么改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 08:57 , Processed in 0.152899 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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