请教一个关于插入的问题
<p>我编了一段程序,目的要能连续插入</p><p>(defun c:TT ( / laspt)<br/>(setq dwg "aa" laspt 1);假设CAD支持搜索目录有aa.dwg这个文件<br/>(while laspt<br/>(command "_.insert" dwg pause "1" "1" pause) <br/>) <br/>)</p><p>这个程序肯定是只能按"ESC"才能退出.但按了"ESC"后老是出现"; 错误: 函数被取消",怎样才能让它不出现这个提示.能不能让提示是"取消"</p><p>程序怎样改一下,可以实现不按"ESC",按了空格或回车也能退出呢?不过前提是指定插入点时不用getpoint函数,而要用pause.这样的目的是想在插入前能看到插入对象的外形.</p> <p>楼上看看我的程序吧,也是插入的,不要按ESC,我记得有个函数可以关闭错误提示,现在一时半会想不起来了。<br/>我的程序把输入内容保存到注册表,每次都读,而不是每次打开CAD都进行初始化。</p><p></p><p>(defun c:vv (/ d s oldosmode jtbl sdg) ;插入接头,可以统计<br/> (prompt "\n新建接头,缆线图上用,可以统计工作量!VC命令画接头,不可以统计个数!")<br/> (setq sdg (getvar "cmdecho"))<br/> (setq oldosmode (getvar "osmode"))<br/> (setvar "cmdecho" 0)<br/> (vl-cmdf "osnap" "end,mid,cen,nod,qua,int,ins,per,tan,nea,qui,app,ext,par")<br/> (banquanshuminghhb)<br/> (progn<br/> (setq s (findfile "接头.dwg"))<br/> (if (not s) (VL-EXIT-WITH-ERROR (alert "\n没有找到 “接头.dwg” !!\n自己定义一个图块吧!!做好后放在 ◇BLOCK◇ 目录中就OK了!")))<br/> )</p><p> (setq jtbld1 (vl-registry-READ jietoushj "NEW接头"))<br/> (if (not jtbld1)<br/> (progn<br/> (vl-registry-write jietoushj "NEW接头" "1.8")<br/> (setq jtbld 1.8))<br/> (setq jtbld (atof jtbld1))<br/> )</p><p> (setq jtbl (getdist (strcat "\n输入<拾取>接头绘制直径<" (rtos jtbld) ">:")))<br/> (if (not jtbl)<br/> (setq jtbl jtbld)<br/> (setq jtbld jtbl))<br/> (PROMPT (STRCAT "\n当前新接头图上直径为:" (rtos jtbl)))<br/> (while t<br/> (initget 6 "c")<br/> (setq d (getpoint "\n指定插入点[修改直径<C>]:"))<br/> (if (= d "c") (c:vv))<br/> (if (not d) (VL-EXIT-WITH-ERROR "")<br/> (PROGN<br/> (vl-cmdf "insert" "接头" "s" (/ jtbl 1.9) d "")<br/> (vl-registry-write jietoushj "NEW接头" (rtos jtbld))<br/> )<br/> )<br/> (initget 6 "c")<br/> )<br/> ;(if (not d) (c:vv) )<br/> ;o (setq d nil) <br/> (setvar "cmdecho" sdg)<br/> (setvar "osmode" oldosmode)<br/> (princ)<br/>)</p> ??
页:
[1]