本帖最后由 yshf 于 2025-5-6 10:02 编辑
或者
 - <div class="blockcode"><blockquote>(defun c:dca(/ ssa doc setss ents objss ssetObj)
- (vl-load-com)
- (if (setq ssa (ssget))
- (progn
- (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
- (setq setss (vla-get-SelectionSets doc))
- (setq ents (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssa))))
- (setq objss (vlax-make-safearray vlax-vbObject (cons 0 (1- (length ents)))))
- (vlax-safearray-fill objss (mapcar 'vlax-ename->vla-object ents))
- (if (vl-catch-all-error-p (setq ssetObj (vl-catch-all-apply 'vla-Add (list setss "WBLOCKSET"))))
- (vla-Delete (vla-item setss "WBLOCKSET"))
- )
- (setq ssetObj (vla-Add setss "WBLOCKSET"))
- (vla-AddItems ssetObj objss)
- (vla-wblock doc "D:\\Temp.dwg" ssetObj)
- (vla-Delete ssetObj)
- (print "文件导出成功!")
- )
- )
- (princ)
- )
|