llyidong 发表于 2010-11-4 23:07:00

[求助]程式在05正常10不能正常用求解

<p><font face="Verdana">这个程式在低版本2005时无异常;当用在2010版式时则不正常</font></p>
<p>在图元较多时根本无法将选中的图元的层置于最前面;</p>
<p>试了N久未查到问题</p>
<p>请大家看看是哪里出了问题</p>
<p>附上04版和10版格试样图供测试</p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">;;;;;;;;;;;▓图层上浮;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br/>&nbsp;(DEFUN C:tcsf (/ LAY en ss-1)<br/>&nbsp; (setvar "CMDECHO" 0)<br/>&nbsp; (setq en(ENTSEL "\n请选择要上浮的像素:"))<br/>&nbsp; (while (= en nil)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (IF (= en NIL)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SETQ en(ENTSEL "\n请选择要上浮的像素!"))))<br/>&nbsp; (SETQ LAY (CDR (ASSOC 8 (ENTGET(CAR en)))))<br/>&nbsp; (setq ss-1 (ssget "x" (list (cons 8 LAY))))<br/>&nbsp; (command "DRAWORDER" ss-1 "" "f")<br/>&nbsp; (COMMAND "layer" "s" LAY "")<br/>&nbsp; (PRINC))</font></p>

ZZXXQQ 发表于 2010-11-5 21:15:00

<p>我没有2010。但将程序改了改。你先试试</p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">(defun C:tcsf (/ LAY en ss-1)<br/>&nbsp;(setvar "CMDECHO" 0)<br/>&nbsp;(setq en(entsel "\n请选择要上浮的像素 :"))<br/>&nbsp;(while (= en nil) (setq en(entsel "\n请选择要上浮的像素 :")))<br/>&nbsp;(setq LAY (cdr(assoc 8 (entget(car en)))))<br/>&nbsp;(setq ss-1 (ssget "X" (list(cons 8 LAY))))<br/>&nbsp;(command "._DRAWORDER" ss-1 "" "_F")<br/>&nbsp;(setvar "CLAYER" LAY)<br/>&nbsp;(setvar "CMDECHO" 1)<br/>&nbsp;(princ)<br/>)<br/></font>
<p>&nbsp;</p>

llyidong 发表于 2010-11-5 22:21:00

<p>谢谢版主回复!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>我又反复试4台电脑;还是在2010版中无法得到想要的结果,选中图元的图层无法显示在最前面;</p>
<p>在05及10中用原始的DRAWORDER(前置)是有差异的</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 05中如果用窗选了多个图层的图元则显示不变;再执行cad原始的DRAWORDER(前置)命令单选图元可执行成功</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 10中如果用窗选了多个图层的图元则显示最上的图元有变化既非选取前的图元为最上;再执行cad原始的DRAWORDER(前置)命令单选图元则无法使</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选中的图无上浮.</p>
<p>&nbsp;</p>
<p>以上现象非常怪异;请有兴趣的坛友试一下看是否能找到解决方案。</p>

ZZXXQQ 发表于 2010-11-6 19:37:00

<p>给个在10中执行DRAWORDER的命令行显示</p>

llyidong 发表于 2010-11-6 20:30:00

<p><font face="Verdana">感谢版主关注!!!!!</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">命令: *取消*<br/>命令: *取消*<br/>命令: *取消*<br/>命令: DRAWORDER<br/>选择对象: 指定对角点: 找到 1 个<br/>选择对象:<br/>输入对象排序选项 [对象上(A)/对象下(U)/最前(F)/最后(B)] &lt;最后&gt;: f<br/>命令:</font></p>

ZZXXQQ 发表于 2010-11-6 23:22:00

这个与2004版相同呀。有不同的吗?

llyidong 发表于 2010-11-7 00:34:00

<p>是的命令相同提示相同</p>
<p>但达不到2004的效果,我是想要回04的效果能将整个图层上置</p>
页: [1]
查看完整版本: [求助]程式在05正常10不能正常用求解