这个程序怎么不能完美运行???
<p>;;<br/>;;; 解冻指定冻结的图层<br/>;;;</p><p>(defun *error*(msg)<br/> (princ "\n你按了取消键,")<br/> (princ msg) (princ "!")<br/> (princ)<br/>)</p><p></p><p><br/>(defun c:layfrzon(/ layname layerentname ennewtable)<br/> (setvar "cmdecho" 0)<br/> (setq layname (getstring "\n请输入想要解冻的图层名<ESC退出>:"))<br/> (tblnext "layer" T)<br/> (if (/= "" layname) <br/> (progn (setq layerentname (tblobjname "layer" layname))<br/> (setq ennewtable (entget layerentname))<br/> (if (= (cdr (assoc '70 ennewtable)) 1)<br/> (progn (entmod (subst (cons 70 0) (assoc '70 ennewtable) ennewtable))<br/> (COMMAND "REGENALL")<br/> (princ (strcat "\n图层<" layname ">已经解冻!!!"))<br/> (princ)<br/> )<br/> (progn (princ (strcat "\n你输入的图层<" layname ">不是冻结状态!!!"))<br/> (princ)<br/> )<br/> )<br/> )<br/> <br/> (progn (PRINC "\n没有输入图层名或指定的图层名不存在,请输入正确的图层名,退出按ESC键!!!")<br/> (princ)<br/> )<br/> )<br/> <br/> <br/> <br/>)</p><p></p><p></p><p>这个程序本来是想根据用户输入解冻指定的图层,但现在问题是:</p><p>解冻操作时,也都可以解冻,但只有第一个可以显示出来,以后其它的都不能显示出来。</p><p>请高手帮我看下, 这是怎么回事。</p><p>在此表示感谢了!</p> <p>;;; (entmod (subst (cons 70 0) (assoc '70 ennewtable) ennewtable))</p><p>替换为<br/> (command "layer" "t" layname "")</p> <p>可以告诉我为什么吗?</p><p>我想用内部函数啊。</p><p>如果用命令,前面也不要这样麻烦了啊。</p><p>唉。</p>
页:
[1]