oyxx1023 发表于 2008-7-14 14:29:00

如何获得命名图层过滤器的列表?

如题.

oyxx1023 发表于 2008-7-15 22:25:00

没人知道?高手呢.

caoyin 发表于 2008-7-14 16:13:00

这个有些复杂,属于词典的研究范围。我也在研究,期待高手!!

sailorcwx 发表于 2008-7-16 00:00:00

<a href="http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&amp;replyID=13437&amp;id=33249&amp;skin=0">http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&amp;replyID=13437&amp;id=33249&amp;skin=0</a>

caoyin 发表于 2008-7-16 09:09:00

本帖最后由 作者 于 2008-7-16 9:12:32 编辑 <br /><br /> <p>;;昨晚我也搞出来了</p><p>(defun GetLayerFilterList (/ Dic)<br/>&nbsp; (setq Dic (vla-GetExtensionDictionary<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-Get-Layers<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-Get-ActiveDocument (vlax-Get-Acad-Object))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dic (dictsearch (vlax-vla-Object-&gt;Ename Dic) "ACLYDICTIONARY")<br/>&nbsp; )<br/>&nbsp; (mapcar '(lambda (X) (cdr (assoc 300 (entget (cdr X)))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vl-Remove-If '(lambda (X) (/= (car X) 350)) Dic)<br/>&nbsp; )<br/>)</p>

oyxx1023 发表于 2008-7-16 12:22:00

<p>楼上的我在02下试验结果为NIL.</p><p>与实际不符.在(dictsearch (vlax-vla-Object-&gt;Ename Dic) "ACLYDICTIONARY")这里得出的结果为NIL.得不到正确结果 </p>

caoyin 发表于 2008-7-16 12:53:00

可能底版本数据结构不同,我在2006、2009测试通过

oyxx1023 发表于 2008-7-16 14:14:00

ok了,02下改为(dictsearch (vlax-vla-Object-&gt;Ename Dic) "ACAD_LAYERFILTERS")即可.感谢楼上几位.
页: [1]
查看完整版本: 如何获得命名图层过滤器的列表?