netrope 发表于 2008-4-9 19:32:00

如何让LISP执行时“忽略绘图次序”?

自己写了个炸图块的小程序,当图块较少,执行没什么问题,就是速度慢点,但是当图块数量很大时(几千个),就相当慢了,好像死机了一样。<br/>我尝试手动分步骤执行这些命令,发现在选中几千个图块后,执行X分解命令时,会弹出一个提示窗口,提示如下:<br/><br/>该操作可能会花费较长时间。<br style="color: rgb(255, 0, 0);"/>若要大幅提高性能,可以让系统忽略绘图次序。<br style="color: rgb(255, 0, 0);"/><br style="color: rgb(255, 0, 0);"/>是否对该操作忽略绘图次序?<br/><br/>如果我选择是,那么执行速度确实很快,我想在LISP程序里也执行这个操作,应该如何做到?感激不尽啊!<br/>

netrope 发表于 2008-4-10 09:32:00

这个问题没人知道吗?

highflybir 发表于 2008-4-10 10:29:00

<table class="HeadingTable" cellspacing="0" cellpadding="0" width="103%" border="0"><tbody><tr><td colspan="2"><div class="TopHead"><font style="BACKGROUND-COLOR: #316ac5;">DRAWORDERCTL</font> 系统变量</div>&nbsp; </td></tr><tr valign="bottom"><td colspan="2" height="33"><table class="TabTable" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="5">&nbsp;</td><td width="5">&nbsp;</td><td></td><td class="TabOffCell"><nobr><a href="ms-its:ACAD_AUG.chm::/AUG.17.152.htm">概念</a></nobr></td><td><img src="mk:@MSITStore:C:\Program%20Files\AutoCAD%202006\help\acad_aug.chm::/ac.TabOff3.gif" alt=""/></td><td width="5">&nbsp;</td><td><img src="mk:@MSITStore:C:\Program%20Files\AutoCAD%202006\help\acad_aug.chm::/ac.TabOff1.gif" alt=""/></td><td class="TabOffCell"><nobr><a href="ms-its:ACAD_AUG.chm::/AUG.17.153.htm">操作步骤</a></nobr></td><td><img src="mk:@MSITStore:C:\Program%20Files\AutoCAD%202006\help\acad_aug.chm::/ac.TabOff3.gif" alt=""/></td><td width="5">&nbsp;</td><td><img src="mk:@MSITStore:C:\Program%20Files\AutoCAD%202006\help\acad_aug.chm::/ac.TabOn1.gif" alt=""/></td><td class="TabOnCell"><nobr><a href="ms-its:ACAD_AUG.chm::/AUG.17.154.htm">命令</a></nobr></td><td><img src="mk:@MSITStore:C:\Program%20Files\AutoCAD%202006\help\acad_aug.chm::/ac.TabOn3.gif" alt=""/></td><td width="5">&nbsp;</td></tr></tbody></table></td></tr></tbody></table><p class="table_body"><table><tbody><tr><th>类型:&nbsp;</th><td>整数</td></tr><tr><th>保存位置:&nbsp;</th><td>图形</td></tr><tr><th>初始值:&nbsp;</th><td>3</td></tr></tbody></table></p><p class="body">控制重叠对象的显示次序。 使用此设置可以提高大型图形中的编辑操作的速度。 受继承影响的命令有 BREAK、FILLET、HATCH、HATCHEDIT、EXPLODE、TRIM、JOIN、PEDIT 和 OFFSET。</p><table class="NoRules" rules="none" border="0"><thead></thead><tbody><tr class="row_1"><td class="BasicLeft_CELL"><p class="table_body">0</p></td><td class="BasicLeft_CELL"><p class="table_body">关闭重叠对象的默认绘图次序:对象经过编辑后,无论其绘图次序如何,均显示在最前端,直到重生成图形 (REGEN) 或重新打开图形。 此设置还会关闭绘图次序继承:对于使用以上列出的命令从另一对象创建的新对象,不将原对象的绘图次序指定给它们。</p></td></tr><tr class="row_1"><td class="BasicLeft_CELL"><p class="table_body">1</p></td><td class="BasicLeft_CELL"><p class="table_body">打开对象的默认绘图次序:编辑对象之后,它们将自动按照正确的绘图次序显示。</p></td></tr><tr class="row_1"><td class="BasicLeft_CELL"><p class="table_body">2</p></td><td class="BasicLeft_CELL"><p class="table_body">打开绘图次序继承:对于使用以上列出的命令从另一对象创建的新对象,将原对象的绘图次序指定给它们。</p></td></tr><tr class="row_1"><td class="BasicLeft_CELL"><p class="table_body">3</p></td><td class="BasicLeft_CELL"><p class="table_body">提供完全绘图次序显示。 打开对象的正确绘图次序,并打开绘图次序继承。</p></td></tr></tbody></table><p class="note">注意&nbsp;完全绘图次序显示可能会降低一些编辑操作的速度。</p>

netrope 发表于 2008-4-11 12:10:00

楼上的答案是正确的。<br/>但是仍然没有解决执行速度很慢的问题,这到底是什么原因?<br/>有谁知道怎样用lisp快速、批量的炸图块?<br/>

hhc 发表于 2014-8-26 15:45:10

发现把DRAWORDERCTL设为0就不会弹出那个提示窗口。

断箭 发表于 2018-7-28 10:54:33

hhc 发表于 2014-8-26 15:45
发现把DRAWORDERCTL设为0就不会弹出那个提示窗口。

设置为0确实不弹出了
页: [1]
查看完整版本: 如何让LISP执行时“忽略绘图次序”?