用一个命令绘制所有布局
大家好。。我再次需要帮助。。在我的项目中有许多不同大小的布局(A1、A2、A3和A4所有布局在一个*.dwg文件中)。我需要一个lisp打印所有布局根据布局大小与一个命令。有人能帮我吗。?
提前谢谢。 你试过发布命令了吗? 你好李·麦克。。
谢谢你的回复。。
我已尝试发布命令。。但它每次都会启动一些设置以继续该过程。而且发布所有布局也需要很多时间。。。我需要自动绘制所有布局,无需任何初始设置。
再次感谢。。 附加示例文件 你可以这样开始:
(foreach layout (layoutlist)
(command "_.PLOT" ... )
)
你好非常感谢您的回复。。
仅供参考。
我附上了样本文件。在这个文件中只有四个布局。
但在实际文件中,至少有20个布局。
样品图纸
再次感谢。 这似乎是最简单的方法:
(defun C:test ( / cmd )
(setq cmd (getvar 'cmdecho)) (setvar 'cmdecho 0)
(foreach Layout (layoutlist)
(command "_.-PLOT"
"No" ; Detailed plot configuration? <No>: No
Layout ; Enter a layout name or [?] <Layout1>:
"" ; Enter a page setup name
"DWG To PDF.pc3" ; Enter an output device name or [?] <DWG To PDF.pc3>:
(strcat (getvar "DWGPREFIX") Layout ".pdf") ; Directory to save
"No" ; save changes to page setup?
"Yes" ; proceed with plot?
); command
); foreach
(setvar 'cmdecho cmd)
(princ)
); defun C:test
有关详细的绘图配置,请查看scottbolton在此线程中的帖子。 Grr由于Gmmdinesh意味着不同尺寸的布局标题栏,代码需要检查标题栏名称,然后才能使用正确的图纸尺寸。我还建议使用窗口,而不是更可靠的布局。
Grr只是一个添加到绘图pdf相同的方法,这是按图纸范围而不是全部绘图pdf。
Gmmdinesh您需要在每个布局中添加某种形式的标题栏,以便确定大小。即使将一个矩形作为一个区块,这样也可以算出绘图区域的两个角。请参见下面的代码示例,这是一张打印到A3图纸的A1图纸。
绘图3pdfrange。lsp
getvals。lsp
我不明白这个->“但它每次都会启动一些设置来继续这个过程”
您还说“我需要自动绘制所有布局,而不需要任何初始设置”-但这正是“发布”命令所做的。
它打印布局,不需要用户的交互。
从图纸集管理器发布时也是如此。
页:
[1]