xhq1954425 发表于 2009-7-31 09:51:00

[求助]用了个别命令使运行中断问题

<p>在下面程序开头中加了一个 全屏模式 命令(COMMAND "_.CLEANSCREENON")使运行中断,去掉它就正常了,可有办法解决?谢谢!</p><p>(defun C:test() <br/>(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式&nbsp;&nbsp;&nbsp; <br/>(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")<br/>(command "solidedit" "F" "C" pause "" "0,0,0" "0,0,0" "" "");复制面<br/>(command "chprop" (entlast) "" "c" "红" "")<br/>(princ)&nbsp; <br/>)</p>

淮上 发表于 2009-7-31 10:28:00

<p>不用pause似乎可行</p><p>(defun C:test() <br/>(setq e (car (entsel)))<br/>(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式&nbsp;&nbsp;&nbsp; <br/>(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")<br/>(command "solidedit" "F" "C" e "" "0,0,0" "0,0,0" "" "");复制面<br/>(command "chprop" (entlast) "" "c" "红" "")<br/>(princ)&nbsp; <br/>)</p>

xhq1954425 发表于 2009-7-31 14:46:00

<p>非常感谢<font face="Verdana" color="#61b713"><strong>淮上</strong><font color="#000000">的帮助!</font></font></p><p><font face="Verdana">这样会出现两个问题:</font></p><p><font face="Verdana">1.打开文本窗口还是有错</font></p><p><font face="Verdana">2.用(setq e (car (entsel)))无法选中三维立体上的某一个表面,也没有复制出新的表面</font></p><p><font face="Verdana">经常看到你对别人的帮助,再次表示谢意!</font></p><p>命令: test<br/>选择对象: _.CLEANSCREENON<br/>命令:<br/>在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:solidedit<br/>实体编辑自动检查:&nbsp; SOLIDCHECK=1<br/>输入实体编辑选项 [面(F)/边(E)/体(B)/放弃(U)/退出(X)] &lt;退出&gt;: F<br/>输入面编辑选项<br/>[拉伸(E)/移动(M)/旋转(R)/偏移(O)/倾斜(T)/删除(D)/复制(C)/颜色(L)/材质(A)/放弃(U)/退出(X)] &lt;退出&gt;: C<br/>选择面或 [放弃(U)/删除(R)]:<br/>命令: TEST 未知命令“TEST”。按 F1 查看帮助。</p><p>命令: 0,0,0 未知命令“0,0,0”。按 F1 查看帮助。</p><p>命令: 0,0,0 未知命令“0,0,0”。按 F1 查看帮助。</p><p>命令: TEST 未知命令“TEST”。按 F1 查看帮助。</p><p>命令: TEST 未知命令“TEST”。按 F1 查看帮助。</p><p>命令: chprop<br/>选择对象:&nbsp;&nbsp; 找到 1 个</p>

cauin 发表于 2009-7-31 15:19:00

<p>没用过三维的</p>

淮上 发表于 2009-7-31 15:23:00

本帖最后由 作者 于 2009-7-31 16:57:35 编辑 <br /><br /> <p>;;你测试一下</p><p>(defun C:test() <br/>(COMMAND "_.CLEANSCREENON");2007以上版本有的 全屏模式&nbsp;&nbsp;&nbsp; <br/>(prompt "\n在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:")<br/>(prompt "\n选择一个面:")<br/>(command "solidedit" "F" "C" )<br/>(while (/= (getvar 'CMDACTIVE) 0)<br/>&nbsp; (command pause)<br/>)<br/>(command "" "0,0,0" "0,0,0" "" "");复制面<br/>(command "chprop" (entlast) "" "c" "红" "")<br/>(princ)&nbsp; <br/>)</p>

xhq1954425 发表于 2009-7-31 16:21:00

<p>太麻烦你了……谢谢!谢谢!</p><p>如果在开始是非全屏模式(_.CLEANSCREENOFF)下运行还是不行</p><p>如果在已经是全屏模式(_.CLEANSCREENON)下运行是没问题的,</p><p>命令: test _.CLEANSCREENON<br/>命令:<br/>在程序开头用全屏模式,能不能使它接着往下运行,不中断呢?:<br/>选择一个面:solidedit<br/>实体编辑自动检查:&nbsp; SOLIDCHECK=1<br/>输入实体编辑选项 [面(F)/边(E)/体(B)/放弃(U)/退出(X)] &lt;退出&gt;: F<br/>输入面编辑选项<br/>[拉伸(E)/移动(M)/旋转(R)/偏移(O)/倾斜(T)/删除(D)/复制(C)/颜色(L)/材质(A)/放弃(U)/退出(X)] &lt;退出&gt;: C<br/>选择面或 [放弃(U)/删除(R)]: ; 错误: no function definition: COOAMD</p><p>选择面或 [放弃(U)/删除(R)]: *<font color="#f73809">取消</font>*<br/></p>

淮上 发表于 2009-7-31 16:56:00

不好意思command写成COOAMD

淮上 发表于 2009-7-31 17:11:00

<p>;;下面的思路似乎对了,你自己调试一下</p><p>(defun C:test() <br/>(COMMAND "_.CLEANSCREENON")<br/>(prompt "\n选择一个面:")<br/>(vla-SendCommand<br/>&nbsp; (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))<br/>&nbsp; "solidedit F C "<br/>)<br/>(while (/= (getvar 'CMDACTIVE) 0)<br/>&nbsp; (vla-SendCommand&nbsp; doc "\\")<br/>)<br/>(vla-SendCommand&nbsp; doc " 0,0,0 0,0,0&nbsp; ");复制面<br/>(command "chprop" (entlast) "" "c" "红" "")<br/>(princ)&nbsp; <br/>)</p>

xhq1954425 发表于 2009-8-1 06:01:00

<p>感谢你的热情帮助,献花一朵略表谢意!</p><p>程序中有 红色 的部分是失效的,只要输入运行命令,一回车就立刻执行过了<font color="#0909f7">(command "chprop" (entlast) "" "c" "红" <font color="#ff6600"><font color="#000000">"")这一句,(</font>因为已经有对象变为红色了)。</font></font><font color="#000000">实在不行就只有在程序中拿掉</font><font color="#000000">(COMMAND "_.CLEANSCREENON")这句了,再次感谢你的热情帮助。</font></p><p>(defun C:test() <br/>(COMMAND "_.CLEANSCREENON")<br/>(prompt "\n选择一个面:")<br/>(vla-SendCommand<br/>&nbsp; (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))<br/>&nbsp; "solidedit <font color="#ff0000">F C</font> "<br/>)<br/>(while (/= (getvar 'CMDACTIVE) 0)<br/>&nbsp; (vla-SendCommand&nbsp; doc "\\")<br/>)<br/>(vla-SendCommand&nbsp; doc " <font color="#ff3300">0,0,0 0,0,0</font>&nbsp; ");复制面<br/><font color="#0909f7">(command "chprop" (entlast) "" "c" "红" "")<br/></font>(princ)&nbsp; <br/>)</p>

淮上 发表于 2009-8-2 11:36:00

(defun C:test() <br/>(COMMAND "_.CLEANSCREENON")<br/>(prompt "\n选择一个面:")<br/>(vla-SendCommand<br/>&nbsp; (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))<br/>&nbsp; "solidedit F C "<br/>)<br/>(while (/= (getvar 'CMDACTIVE) 0)<br/>&nbsp; (vla-SendCommand&nbsp; doc "\\")<br/>)<br/>(vla-SendCommand&nbsp; doc " 0,0,0 0,0,0&nbsp; chprop !(entlast) c 红 ")<br/>(princ)&nbsp; <br/>)
页: [1] 2
查看完整版本: [求助]用了个别命令使运行中断问题