这个问题始终没有解决 (layer命令后反应很慢)
<P>如题,我用的是cad2005 执行layer命令后,反应很慢,特别是图形大的时候,要等好几分钟才出现图层编辑那个对话框</P><P>是否有什么设置改变cad。</P>
<P>高手帮忙</P> <P>在"特性"中修改会快些</P> <P>但还是不能避免对图层的编辑,经常还是要用到layer命令的。</P> 第一次运行时,是有点慢,但第二次就没问题了 我以前也遇到过同样的问题!好像是版本的问题! 本帖最后由 作者 于 2008-3-8 22:01:32 编辑 <br /><br /> <p>楼主的机子不是很好吧? 可能是图像里面有非常多的, 上万个, 甚至更多的图层过滤设置. 我也不知道这些东西一开始是从哪里出来的, 最初也是从这里看到的. 好像是日本的项目似的, 因为其中有些过滤名有日文的味道. 近来发现我们单位里面的些图形里面竟然也有了! 楼主在打开层对话框后, 如果左边的列表有一大堆的东西的话, 就是了. 可以用下面的 lsp 来删除, 只是, 不知道什么原因, 我这里需要运行两次 DelLayFlt 命令, 第一次提示 Automation 错误. 第二词就正常删除了层过滤. 我也是第一次写 vla 类的 lsp, 所以, 可能有不妥之处</p><p><br/>;<br/>; 删除图形的所有层过滤设置<br/>; by zwh<br/>; 最后修改: 15:40 2007-01-29<br/>;</p><p>(princ "\n删除当前图形的所有层过滤设置.\n")<br/>(vl-load-com); load visual lisp extension<br/>(defun C:DelLayFlt ( / xdoc xlayers xDic xDic1 xc xi )<br/> (setq xdoc (vla-get-ActiveDocument (vlax-get-Acad-Object))<br/> xlayers (vla-get-Layers xdoc)<br/> )<br/> (if (= (vla-get-HasExtensionDictionary xlayers) ':vlax-true)<br/> (progn<br/> (setq xDic (vla-GetExtensionDictionary xlayers)<br/> xc (vla-get-Count xDic) xi 0<br/> )<br/> (while (< xi xc)<br/> (setq xDic1 (vla-Item xDic xi) xi (1+ xi))<br/> (if (= (vla-get-Name xDic1) "ACAD_LAYERFILTERS")<br/> (progn<br/> (princ "Layers' handle: ")<br/> (princ (vla-get-Handle xlayers))<br/> (princ "\nFilters' handle: ")<br/> (princ (vla-get-Handle xDic1))<br/> (princ "\nNumber of filters: ")<br/> (princ (vla-get-count xDic1))<br/> (vla-Remove xDic (vla-get-Name xDic1))<br/> (setq xi (1+ xc))<br/> ) ; end of progn(it's ACAD_LAYERFILTERS)<br/> ) ; end of if(该词典项是层过滤器?)<br/> ) ; end of while(检查层组对象的没有词典项)<br/> (if (= xi (1+ xc))<br/> (princ "\n层过滤器已经被删除. ")<br/> (princ "\n无层过滤设置. ")<br/> )<br/> ) ; end of progn(层有词典)<br/> (princ "该图形文件层组对象没有词典属性! ")<br/> ) ; end of if(层有词典)<br/> (princ)<br/>) ; end of C:DelLayFlt</p> <p>十分感谢楼主!问题解决了</p>
页:
[1]