usestone 发表于 2010-5-25 22:28:00

[求助]cad菜单“工具》显示顺序”中前置无效?

本帖最后由 作者 于 2010-6-2 23:05:40 编辑 <br /><br /> <div style="FONT-SIZE: 14px">请教,我的cad菜单“工具》显示顺序”无效,点击后出现如下提示:<br/><br/>“命令:&nbsp;&nbsp;; 错误: no function definition: DRAWORDER”<br/>请教为什么,怎么解决?谢谢</div>

dunkel 发表于 2010-5-26 13:10:00

什么版本?一般是 acdorder.arx (R14 为 dorder.arx) 不会被自动加载?先看看 ACAD 的目录下是不是有这个文件。如果有,比较简单的做法是通过 AppLoad 命令找寻到该文件,将其添加到“启动组”中。如果没有这个文件,从其它正常的机子上复制个过来。

usestone 发表于 2010-5-26 20:28:00

本帖最后由 作者 于 2010-5-26 21:45:20 编辑 <br /><br /> <p>我的是cad2004版本,是不是也是“acdorder.arx ”。</p><p>我是单位办公室计算机,明天看一下。谢谢!</p>

usestone 发表于 2010-5-28 07:33:00

<p>我的是cad2004,试了加载acdorder.arx还是一样无效。包括将对象的图层置为当前,<font face="Verdana">_ai_molc</font>,也无效。麻烦再次指点一下,谢谢</p>

dunkel 发表于 2010-5-28 08:56:00

<p>_ai_molc,将对象图层置为当前,这个命令应该是 *DOC 组中定义的,属 ACAD 基本命令了,怎么会无效呢?具体什么提示信息?</p>
<p>加载了 acdorder.arx 后,运行 draworder 命令是什么错误提示?加载过程肯定正确完成了?</p>
<p>如果确是这样,是不是有病毒了?!c:_ai_molc 看看提示什么,如果是一堆 lsp 代码,那就是病毒;如果是 nil,很奇怪;如果是 <font style="BACKGROUND-COLOR: #ffffff" face="Verdana">#&lt;SUBR @0315</font>... 这样的,大致是正常。</p>

usestone 发表于 2010-6-1 21:41:00

<p>是正确加载了“<font face="Verdana">acdorder.arx”,提示一样是“<font face="Verdana">命令:&nbsp; ; 错误: no function definition: DRAWORDER</font>”,我好多同事机子都出现类似问题,估计是病毒。</font></p>
<p>&nbsp;</p>
<p>“<font face="Verdana">命令: !C:AI_MOLC<br/>nil<br/>命令: !C:DRAWORDER<br/>nil</font>”</p>
<p>我的机子就是上面的结果。</p>
<p>我找了一台菜单命令可用的机子试了一下,结果确实如楼上说的一样。</p>
<p><font face="Verdana">“命令: !C:AI_MOLC #&lt;SUBR @0358403c C:AI_MOLC&gt;”</font></p>
<p><font face="Verdana">但DRAWORDER结果也是nil “命令: !C:DRAWORDER nil”</font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>

dunkel 发表于 2010-6-2 08:38:00

<p>_.AI_MOLC 命令可以吗?这种格式是以 ACAD 内部原始命令运行,可以避开外部的命令重定义。如果可以,应该是病毒作祟;或者是看看自己图形目录下有没有 acad.lsp 之类的文件,可能需要打开隐藏文件的显示。如果还是不可以,arx 命令 ? 选项,列表里有 acapp.arx 和 acdorder.arx 吗?没有的话,手工加载下,仔细看看命令行里的提示,是不是确定加载成功了;如果有这两个,arx 命令的 c 选项,在 “ACAD_DRAWORDER”组里应该有 draworder,在 *DOC 组里应该有 C:AI_MOLC,如果没有它们,acapp.arx 和 acdorder.arx 两文件有问题?从其它正常的机子上复制个过来再试试?</p>

usestone 发表于 2010-6-2 23:04:00

<p>AI_MOLC 命令可以可以用了,原因找到了,是我的机子下</p>
<p><font face="Verdana">C:\Documents and Settings\admin\Application Data\Autodesk\AutoCAD 2004\R16.0\chs\Support目录下的</font></p>
<p>acad.mnl有问题未成功加载“acad.mnl”。每次打开cad提示“<font face="Verdana">AutoCAD 菜单实用程序; 错误: 参数类型错误: stringp nil</font>”</p>
<p>我从别的正常cad的机子中拷贝了一个“acad.mnl”覆盖就可以用AI_MOLC 命令。点工具条上的“将对象的图层置为当前”可用。</p>

usestone 发表于 2010-6-3 23:10:00

<p>“将对象的图层置为当前”工具栏上的点击有效了,问题是“acad.mnl”被破坏,找个正常机子中的相同文件覆盖即可。</p>
<p>现在还是菜单“工具》显示顺序”中前置、后置等无效没解决。</p>
<p>我在正常可以使用的机子上,发现也没有“<font face="Verdana">acdorder.arx”,采用<font face="Verdana">arx 命令的 c 选项</font>,也查不到<font face="Verdana">“ACAD_DRAWORDER”组及draworder,但该机子的“工具》显示顺序”中前置、后置等均有效。</font></font></p>
<p>而我的机子无法使用,加载了“<font face="Verdana">acdorder.arx”,采用<font face="Verdana">arx 命令的 c 选项</font>,也查到<font face="Verdana">“ACAD_DRAWORDER”组及draworder,但通过菜单“工具》显示顺序”点击,命令行依然出现的是“<font face="Verdana">&nbsp;命令:&nbsp; ; 错误: no function definition: DRAWORDER”。补充说明,在命令行输入“DRAWORDER”是一直可以用的。</font></font></font></p>
<p>&nbsp;</p>

dunkel 发表于 2010-6-4 08:37:00

<p><font face="宋体">菜单里当然显示顺序功能项,是同 (ai_draworder ??) 函数调用 _.draworder 命令的,而这个函数也是在 acad.mnl 里定义的。</font></p>
<p><font face="宋体">通常的,刚进入 ACAD 时,acdorder.arx 可能没被加载,但一旦运行 draworder 命令,就会自动加载它的。</font></p>
<p><font face="宋体">现在是 draworder 命令可以使用,但菜单里的不可用,那就查 acad.mns 里这部分的是否正常,acad.mnl 里对 ai_draworder 是否正常:</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#0000ff">// 菜单文件中的定义</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#0000ff">ID_MnOrder&nbsp;&nbsp;&nbsp;&nbsp; [-&gt;显示顺序(&amp;O)]<br/>ID_DrawordeF&nbsp;&nbsp;&nbsp;&nbsp; [前置(&amp;F)]^C^C^P(ai_draworder "_f") ^P<br/>ID_DrawordeB&nbsp;&nbsp;&nbsp;&nbsp; [后置(&amp;B)]^C^C^P(ai_draworder "_b") ^P<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--]<br/>ID_DrawordeA&nbsp;&nbsp;&nbsp;&nbsp; [置于对象之上(&amp;A)]^C^C^P(ai_draworder "_a") ^P<br/>ID_DrawordeU&nbsp;&nbsp;&nbsp;&nbsp; [&lt;-置于对象之下(&amp;U)]^C^C^P(ai_draworder "_u") ^P</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体"></font>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#008000">; acad.mnl 中的定义</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#008000">(defun ai_draworder (option / ss )</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#008000">&nbsp; (setq m:err *error* *error* *merr*)<br/>&nbsp; (ai_sysvar '("cmdecho" . 0))</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#008000">&nbsp; (if (setq ss (ssget "_I"))<br/>&nbsp;&nbsp;&nbsp; (command "_.draworder" option)<br/>&nbsp;&nbsp;&nbsp; (if (setq ss (ssget))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.draworder" ss "" option)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (ai_sysvar NIL)<br/>&nbsp; (setq *error* m:err m:err nil)</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="宋体" color="#008000">&nbsp; (princ)<br/>)</font></p>
页: [1] 2
查看完整版本: [求助]cad菜单“工具》显示顺序”中前置无效?