获取图层列表的三种方法和效率比较
本帖最后由 marting 于 2017-4-4 11:35 编辑;方法1
(defun GetLayers1 (/ lst)
(vlax-map-collection
(vla-get-Layers
(vla-get-ActiveDocument
(vlax-get-acad-object)
)
)
(function
(lambda (x) (setq lst (cons (vla-get-name x) lst)))
)
)
lst
)
;方法2
(defun GetLayers2 (/ tdef lst)
(while (setq tdef (tblnext "LAYER" (not tdef)))
(setq lst (cons (cdr (assoc 2 tdef)) lst))
)
lst
)
方法三:
**** Hidden Message *****
效率比较:
(GETLAYERS3).....1123 / 1.40 <最快>
(GETLAYERS1).....1264 / 1.25
(GETLAYERS2).....1576 / 1.00 <最慢>
第三种方法还真不知道哈..学习了..
原来 1才是没用过的方法哈...{:1_12:} 方法2,慢就慢在每次都要打开图层表进行读操作,其他两个方法都是打开一次,就读出所有层信息了。 来学习第三种方法了,感谢! 看看啥子好东西,谢谢楼主
学习最高效的方法
回复看看第三种方法!!! 学习最高效的方法
ffffffffffffffffffffffffffffffffffffffffff 谢谢楼主
学习了..
回复看看! 啥也不说了,感谢楼主分享哇! 确实是难得好帖啊,顶先