jscgvnc 发表于 2022-7-5 17:36:46

Lisp打印

大家好,
 
 
我有一个lisp脚本,我已经成功地使用它在AutoCAD Elec 2014中打印到PDF。我们升级到AE 2017,现在它在每个绘图上等待我点击文件中的某个地方,然后它进入下一个。
 
 
这是我的剧本:

(defun c:PLOTPDFLISP ( / cm )
   (setq cm (getvar 'CMDECHO))
   (setvar 'CMDECHO 0)
   (command "-plot"
"Yes"                         ;Detailed plot configuration? <No>: Y
"Layout1"                           ;Enter a layout name or [?] <0_01a>:
"Acade - DWG To PDF.pc3"            ;Enter an output device name or [?] <DWG To PDF.pc3>:
"ANSI full bleed B (17.00 x 11.00 Inches)" ;Enter paper size or [?] <ISO full bleed A3>:
"Inches"               ;Enter paper units <Millimeters>:
"Landscape"                  ;Enter drawing orientation <Lan...>:
"Yes"                         ;Plot upside down? <No>:
"Extents"                     ;Enter plot area <Window>:
"1:2.00"               ;Enter plot scale or <1=1>:
"Center"                     ;Enter plot offset (x,y) or <Center>:
"Yes"                        ;Plot with plot styles? <Yes>:
"-Palette DHSI ANSI D 12217.stb"   ;Enter plot style table name or [?] <>:
"Yes"                        ;Plot with lineweights? <Yes>:
"Yes"                         ;Scale lineweights with plot scale? <No>:
"No"                         ;Plot paper space first? <No>:
"No"                         ;Hide paperspace objects? <No>:
(strcat (getvar 'DWGPREFIX) (vl-filename-base (getvar 'DWGNAME)))
"No"                        ;Save changes to page setup ? <N> y
"Yes"                        ;Proceed with plot <Y>:
)
   (setvar 'CMDECHO cm)
   (princ)
)
(vl-load-com) (princ)


 
 
我使用“项目范围实用程序”运行一个脚本,该脚本为项目中的每个dwg调用此lisp文件。它确实将项目中的每个dwg打印为pdf,但我必须单击dwg才能转到下一个,我不知道为什么。
 
 
有人知道为什么会这样吗?

BIGAL 发表于 2022-7-5 17:58:05

建议删除defun函数另存为PLOTPDFLISPA A,以自动删除vl load com(不需要)。这是128个DWG的多行脚本
 
eg _.open "P:\2014 Project\2014073-1" (LOAD "PLOTpdf-K") CLOSE Y

jscgvnc 发表于 2022-7-5 18:11:02

 
 
 
我不认为我捡起了你放下的东西。也许再给我说一点?我想我理解得很慢。
 
 
谢谢

jscgvnc 发表于 2022-7-5 18:14:23

由于它正在等待我的点击或其他操作,我只是在调用lisp的脚本中添加了一个“CLOSE”,效果很好。不过,我还是想听听你的建议。

BIGAL 发表于 2022-7-5 18:33:37

我刚刚保存了一个额外的命令调用,通过将其设置为C:defun,你意味着一个类型化的命令,我有一个(plotpdf)作为lisp的最后一行,因此defun仍然用于定位变量。上面的行重复128次。你的版本是
 
_.打开“P:\2014 Project\2014073-1”(加载“PLOTpdflisp”)PLOTpdflisp CLOSE Y
 
手动只需在当前绘图上拖放pdf-k pdf即可生成。手动方法是因为它是一个独特的项目v,是我们正常的标准方法。

jscgvnc 发表于 2022-7-5 18:43:58

哦,我明白你的意思了。
 
 
我没想到你可以直接拖放到当前的图形上。
页: [1]
查看完整版本: Lisp打印