恶补了一下vl函数知识,即使摆脱了command,使用vl函数也是会弹窗,看样子只能这样了?
 - ;---将obj图块对象导出指定文件夹
- (defun vla_wb(path obj / doc vla_sets vla_ss)
- (vl-load-com);加载vl-lisp
- (setq doc(vla-get-ActiveDocument(vlax-get-acad-object)))
- (setq vla_sets(vla-get-SelectionSets doc));获取当前文档选择集合
- (if(vl-catch-all-error-p(vl-catch-all-apply 'vla-item(list vla_sets "vla_ss")))
- (setq vla_ss(vla-add vla_sets "vla_ss"))
- (progn
- (vla-delete(vla-item vla_sets "vla_ss"))
- (setq vla_ss(vla-add vla_sets "vla_ss"))
- )
- )
- (vla-AddItems vla_ss(vlax-make-variant(vlax-safearray-fill(vlax-make-safearray vlax-vbObject '(0 . 0))(list obj))));将对象数组变体加入到vla选择集
- (vla-WBlock doc(strcat path "\\"(vla-get-name obj)".dwg")vla_ss)
- (vla-Delete vla_ss);删除选择集
- )
|