[求助]求一个修改标注的小程序
功能是这样的。运行某个命令后,输入数值,然后选择标注,被选到的标注不管以前的标注值是什么,都可以被刷成我最先用命令输入的数值。 (defun c:test( / newdim ent)<br/> (setq newdim(getreal "\n输入新的标注值:"))<br/> (while (and (setq dim(entsel "\n选择要修改的标注:"))<br/> (ssget "p" '((0 . "DIMENSION")))<br/> )<br/> (setq ent(entget (car dim) '("*")))<br/> (setq ent(subst (cons 1 (rtos newdim)) (assoc 1 ent) ent))<br/> (entmod ent)<br/> )<br/>) 以上问题如未解决的话,联系:ljttjl@ tom.com <p>一句话:</p><p>(command ".dim1" "new" (getstring "\n 输入固定数值:") (ssget '((0 . "*DIM*"))) "")</p> 楼上牛 <p>都不行,第一个显示nil</p><p>第二个说不能加载重复的命令什么的</p> 直接编辑不好用吗!直接修改就是假尺寸了 (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)
) danxingpen 发表于 2008-5-15 16:47
(defun c:test( / newdim ent) (setq newdim(getreal "\n输入新的标注值:")) (while (and (set ...
如果要改成先选择要修改的标注,然后输入新的标准值,而且在输入新的标注值这一步如果直接空格,可以默认为上一次输入的值,这个应该怎么改?
页:
[1]