jaminth 发表于 2007-7-24 18:36:00

编LISP求助,程序不能按设计意图运行!!!!!

<p>我想利用LISP 对当前打开的文件,其所在文件夹的所有DWG文件进行批量处理,可程序运行后,总对当前打开的文件起作用,不能对批量打开的DWG文件进行处理,,,,请高手帮忙!!!!</p><div class="htmlcode" id="mc36122" style="BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid;"><font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/defun.htm" target="_black"><font color="#0000ff">defun</font></a>
                <font color="#0000ff"><b>C:bclf</b></font>
                <font color="#ff0000">(</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vl-load-com.htm" target="_black"><font color="#0000ff">vl-load-com</font></a><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> HOLDECHO <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/getvar.htm" target="_black"><font color="#0000ff">getvar</font></a>
                <font color="#ff00ff">"cmdecho"</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setvar.htm" target="_black"><font color="#0000ff">setvar</font></a>
                <font color="#ff00ff">"cmdecho"</font>
                <font color="#008000">0</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> HOLDLSP <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/getvar.htm" target="_black"><font color="#0000ff">getvar</font></a>
                <font color="#ff00ff">"ACADLSPASDOC"</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setvar.htm" target="_black"><font color="#0000ff">setvar</font></a>
                <font color="#ff00ff">"acadlspasdoc"</font>
                <font color="#008000">0</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/if.htm" target="_black"><font color="#0000ff">if</font></a>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/61.htm" target="_black"><font color="#0000ff">=</font></a>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/getvar.htm" target="_black"><font color="#0000ff">getvar</font></a>
                <font color="#ff00ff">"DWGTITLED"</font><font color="#ff0000">)</font>
                <font color="#008000">1</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/progn.htm" target="_black"><font color="#0000ff">progn</font></a><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> path <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/getvar.htm" target="_black"><font color="#0000ff">getvar</font></a>
                <font color="#ff00ff">"DWGPREFIX"</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a><br/>&nbsp;&nbsp;DWG_LIST <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/acad_strlsort.htm" target="_black"><font color="#0000ff">acad_strlsort</font></a>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vl-directory-files.htm" target="_black"><font color="#0000ff">vl-directory-files</font></a> path <font color="#ff00ff">"*.dwg"</font>
                <font color="#008000">1</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> list_number <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vl-list-length.htm" target="_black"><font color="#0000ff">vl-list-length</font></a> dwg_list<font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> index <font color="#008000">0</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nm <font color="#008000">0</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/repeat.htm" target="_black"><font color="#0000ff">repeat</font></a> list_number<br/>&nbsp;&nbsp;<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> dwgfile <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/nth.htm" target="_black"><font color="#0000ff">nth</font></a> index DWG_LIST<font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;<font color="#ff0000">(</font><font color="#0000ff">vla-open</font>
                <font color="#ff0000">(</font><font color="#0000ff">vla-get-documents</font>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vlax-get-acad-object.htm" target="_black"><font color="#0000ff">vlax-get-acad-object</font></a><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/strcat.htm" target="_black"><font color="#0000ff">strcat</font></a> path dwgfile<font color="#ff0000">)</font><br/>&nbsp;&nbsp;<font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vl-Catch-All-Apply.htm" target="_black"><font color="#0000ff">vl-Catch-All-Apply</font></a><br/>&nbsp;&nbsp;'<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/lambda.htm" target="_black"><font color="#0000ff">lambda</font></a>
                <font color="#ff0000">(</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><font color="#0000ff">vla-Remove</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><font color="#0000ff">vla-GetExtensionDictionary</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><font color="#0000ff">vla-Get-Layers</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#ff0000">(</font><font color="#0000ff">vla-Get-ActiveDocument</font>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/vlax-Get-Acad-Object.htm" target="_black"><font color="#0000ff">vlax-Get-Acad-Object</font></a><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff00ff">"ACAD_LAYERFILTERS"</font><br/>&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/command.htm" target="_black"><font color="#0000ff">command</font></a>
                <font color="#ff00ff">"purge"</font>
                <font color="#ff00ff">"a"</font>
                <font color="#ff00ff">"*"</font>
                <font color="#ff00ff">"n"</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> index <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/1+.htm" target="_black"><font color="#0000ff">1+</font></a> index<font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> nm <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/1+.htm" target="_black"><font color="#0000ff">1+</font></a> nm<font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/command.htm" target="_black"><font color="#0000ff">command</font></a>
                <font color="#ff00ff">"qsave"</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/alert.htm" target="_black"><font color="#0000ff">alert</font></a>
                <font color="#ff00ff">"You Must Open An Exited Dwg-file With READ-ONLY First!"</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/prompt.htm" target="_black"><font color="#0000ff">prompt</font></a>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/strcat.htm" target="_black"><font color="#0000ff">strcat</font></a>
                <font color="#ff00ff">"Batch operate "</font>
                <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/itoa.htm" target="_black"><font color="#0000ff">itoa</font></a> nm<font color="#ff0000">)</font>
                <font color="#ff00ff">" files!"</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setvar.htm" target="_black"><font color="#0000ff">setvar</font></a>
                <font color="#ff00ff">"acadlspasdoc"</font> HOLDLSP<font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setvar.htm" target="_black"><font color="#0000ff">setvar</font></a>
                <font color="#ff00ff">"cmdecho"</font> HOLDECHO<font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/princ.htm" target="_black"><font color="#0000ff">princ</font></a><font color="#ff0000">)</font><br/>&nbsp;&nbsp; <font color="#ff0000">)</font><br/><br/></div>

王咣生 发表于 2007-7-26 12:35:00

<p>批处理LISP不擅长,用VBA方便一些.</p><p>用VBA打开每一个dwg,然后SendCommand一个lisp命令,处理后保存关闭.</p>

7686599 发表于 2007-7-26 20:55:00

何不试下打开文件后,先对其它文件执行命令,最后再执行当前文档。
页: [1]
查看完整版本: 编LISP求助,程序不能按设计意图运行!!!!!