 - ;; lay = 新的布局名称,如果没有则创建(string)
- (defun CopytoLayout (lay / ss NewLay ObjLst)
- (vl-load-com)
- (setq *acad* (cond (*acad*) ((vlax-get-acad-object)))
- *adoc* (cond (*adoc*) ((vla-get-ActiveDocument *acad*))))
- (cond ( (not (snvalid lay)))
- ( ;(ssget)
- (ssget "c"'(0 0 0) '(84100 59400 0))
- (vlax-for obj (setq ss (vla-get-ActiveSelectionSet *adoc*))
- (setq ObjLst (cons Obj ObjLst)))
- (vla-delete ss)
- (if (vl-catch-all-error-p
- (setq NewLay (vl-catch-all-apply
- (function vla-item)
- (list (vla-get-Layouts *adoc*) lay))))
- (setq NewLay (vla-Add (vla-get-Layouts *adoc*) lay)))
- (vla-CopyObjects *adoc*
- (vlax-make-variant
- (vlax-safearray-fill
- (vlax-make-safearray vlax-vbObject
- (cons 0 (1- (length ObjLst))))
- (reverse ObjLst)))
- (vla-get-Block NewLay)
- )
- )
- )
- )
- (CopytoLayout "layout_1")
|