再試試看

- ;|
- (setq *ACADOBJECT* (vlax-get-acad-object))
- (setq *CDOC* (vla-get-activedocument *ACADOBJECT*))
- (setq *SOURCELAYOUT* (vla-get-activelayout *CDOC*))
- (setq SNEWLAYOUTNAME "LAI")
- (setq *LAYOUTS* (vla-get-layouts *CDOC*))
- |;
- ;;(LKPT:LAYOUT:MULTICOPY:COPYFROM *SOURCELAYOUT* SNEWLAYOUTNAM)
- (defun LKPT:LAYOUT:MULTICOPY:COPYFROM (SOURCELAYOUT SNEWLAYOUTNAM)
- (setq SOURCELAYOUTBLOCK
- (vla-get-block SOURCELAYOUT)
- ;;; iCount (vla-get-Count SourceLayoutBlock)
- ;;; SourceLayoutBlock-Objects-list '()
- )
- ;;; (vlax-for item SourceLayoutBlock
- ;;; (setq SourceLayoutBlock-Objects-list (cons item SourceLayoutBlock-Objects-list))
- ;;; )
- (setq NEWLAYOUT (vla-add *LAYOUTS* SNEWLAYOUTNAME)
- NEWLAYOUTBLOCK (vla-get-block NEWLAYOUT)
- )
- ;;; (vla-copyobjects
- ;;; CDoc
- ;;; (vlax-safearray-fill
- ;;; (vlax-make-safearray
- ;;; vlax-vbobject
- ;;; (cons 0 (1- iCount))
- ;;; )
- ;;; SourceLayoutBlock-Objects-list
- ;;; )
- ;;; NewLayoutBlock
- ;;; )
- (vlax-for ITEM SOURCELAYOUTBLOCK
- (vla-copyobjects
- *CDOC*
- (vlax-safearray-fill
- (vlax-make-safearray vlax-vbobject '(0 . 0))
- (list ITEM)
- )
- NEWLAYOUTBLOCK
- )
- )
- (vla-copyfrom NEWLAYOUT SOURCELAYOUT)
- (mapcar 'vlax-release-object
- (list SOURCELAYOUTBLOCK NEWLAYOUTBLOCK NEWLAYOUT)
- )
- )
|