如何获得命名图层过滤器的列表?
如题. 没人知道?高手呢. 这个有些复杂,属于词典的研究范围。我也在研究,期待高手!! <a href="http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=13437&id=33249&skin=0">http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=13437&id=33249&skin=0</a> 本帖最后由 作者 于 2008-7-16 9:12:32 编辑 <br /><br /> <p>;;昨晚我也搞出来了</p><p>(defun GetLayerFilterList (/ Dic)<br/> (setq Dic (vla-GetExtensionDictionary<br/> (vla-Get-Layers<br/> (vla-Get-ActiveDocument (vlax-Get-Acad-Object))<br/> )<br/> )<br/> Dic (dictsearch (vlax-vla-Object->Ename Dic) "ACLYDICTIONARY")<br/> )<br/> (mapcar '(lambda (X) (cdr (assoc 300 (entget (cdr X)))))<br/> (vl-Remove-If '(lambda (X) (/= (car X) 350)) Dic)<br/> )<br/>)</p> <p>楼上的我在02下试验结果为NIL.</p><p>与实际不符.在(dictsearch (vlax-vla-Object->Ename Dic) "ACLYDICTIONARY")这里得出的结果为NIL.得不到正确结果 </p> 可能底版本数据结构不同,我在2006、2009测试通过 ok了,02下改为(dictsearch (vlax-vla-Object->Ename Dic) "ACAD_LAYERFILTERS")即可.感谢楼上几位.
页:
[1]