请教高手,如何用lsp添加布局?
如题!我试了下用command命令没实现,不知道能用LSP实现不? 自己顶一个 高手快来 _rocky 发表于 2012-6-5 19:50 static/image/common/back.gif
自己顶一个 高手快来
(VL-CATCH-ALL-APPLY 'vla-add (list (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) "新布局")) Gu_xl 发表于 2012-6-5 20:19 static/image/common/back.gif
(VL-CATCH-ALL-APPLY 'vla-add (list (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object) ...
这个只是添加了一个新布局吧?
我还想知道如何把 模型空间 比如 (0,0,0) (84100,59400,0)区域的视口添加到布局 这个如何实现呢? 同样求解。 顶上去,沉得太深了。 继续来顶!顶到高手来! ;; 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") xiaxiang 发表于 2013-1-10 09:18 static/image/common/back.gif
$ (CopytoLayout "layout21")
nil
不能成功
页:
[1]