虽然Visual LISP和VBA都使用ActiveX COM API,但我不精通VBA语法。
然而,使用Visual LISP,这是返回包含“local”的图层名列表的一种方法(许多方法中的一种):
- (defun c:TEST (/ layerName layerList)
- (vl-load-com)
- (cond
- (*activeDoc*)
- ((setq *activeDoc* (vla-get-activedocument (vlax-get-acad-object)))))
- (vlax-for lay (vla-get-layers *activeDoc*)
- (if (wcmatch (setq layerName (strcase (vla-get-name lay))) "*LOCAL*")
- (setq layerList (cons layerName layerList))))
- (setq layerList layerList)) ;_end defun
也许某位大师能给你更好的建议。。。?(不反对亚比加尔)
希望这有帮助! |