你好
我试图在实践中加快绘图速度,并引入了选项卡和发布的使用。是的,他们没有用。相反,他们将每个绘图页放在一个选项卡上,导致内存中断和崩溃。一些绘图在一个选项卡上超过30个。打印由选择窗口完成。
我想将这些文件更改为选项卡式,这样我就可以对它们使用“发布”和“打印并忘记”。
目前,我的方法是复制此多打印布局,并删除每个选项卡创建单个图纸时不需要的所有页面。漫长的过程,尤其是当它崩溃时。
我的问题是,是否有一个lisp例程,我可以在其中选择一个布局(选择窗口),并将该选择中的布局发送到一个新选项卡,然后从多页选项卡中删除。然后,我可以很快地完成这个多页选项卡,选择布局,lisp创建选项卡,将信息放在上面,然后进行下一个。不得来回切换、复制和粘贴等。
我对lisp还很陌生,有些对我来说毫无意义,但我已经达到了目的,所以请忍受我愚蠢的问题。
这是我到目前为止的代码,从论坛的其他地方刷来的。
- ;; lay = New Layout Name (Will be Created if non-existent) (defun CopytoLayout (lay / ss NewLay ObjLst) (vl-load-com) ; Lee Mac ~ 27.01.10 (setq *acad* (cond (*acad*) ((vlax-get-acad-object))) *adoc* (cond (*adoc*) ((vla-get-ActiveDocument *acad*)))) (cond ( (not (snvalid lay))) ( (ssget) (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)))))
|