保存PDF的LISP函数
嘿,大家好,我对整个论坛的事情都是陌生的,所以如果我应该开始一个新的线程,我很抱歉,但我确实有一个与此相关的问题,我希望你们能帮助我。我一直在尝试使用MColor 9自动化我的绘图过程,它是用于彩色渲染的CAD的扩展。问题是我试图一次绘制多个选项卡,或者自动背靠背绘制。使用Mcolor打印的命令是“MCO_PLOT”,但它一次只能执行一个选项卡。我创建了一个LISP,使我真正接近我想要的地方,这是:
(defun C:mco-plot ()
(foreach lay (layoutlist)
(setvar 'ctab lay)
(command "_mco_plot")
); end foreach
); end defun
*我将新命令从“mco_plot”更改为“mco plot”,这样就不会发生冲突。
这个LISP将自动背靠背地绘制每个选项卡,但问题是,在每个选项卡上,它都会询问我要将PDF保存在哪里。我真正需要的是添加到这个LISP函数中的东西,它要么让PDF自动保存到当前图形文件夹中,要么让我指定一次位置,然后为该位置的所有选项卡保存PDF。我知道这是独一无二的,因为不是每个人都有McColor 9,直到我现在的工作,我之前甚至没有听说过它。然而,我认为必须有一个解决方案,因为我现在需要的唯一部分是一种方法来指定保存位置一次(每个项目一次),然后我会很乐意去。
谢谢你抽出时间! 如果MCO-PLOT被编译为FAS或a。net那么你可能无法改变它。某些软件具有扩展功能,可以在运行命令时执行您想要的操作。试图查找有关McColor 9的信息? 我把你的帖子移到了AutoLISP、Visual LISP和DCL论坛,请在正确的论坛中发布。
我还删除了你在其他帖子中的帖子,请只发布一次你的问题。
请阅读代码发布指南,并编辑代码以包含在代码标签中。
Your Code Here=
Your Code Here 比加尔,
我不确定MCO-PLOT是否编译为FAS或a。网我甚至不确定它是否真的是一个扩展,它已经在我的工作电脑上加载,他们已经使用了好几年了。它可能是一个单独的程序,链接到CAD,但我不确定。我发布的代码已经可以对每个选项卡重复MCO-PLOT命令了,但它会提示我为每个选项卡选择一个保存pdf的位置(例如,如果我运行命令,它会要求保存第一个选项卡,然后将其打印为pdf,然后要求保存下一个选项卡,等等。即使我点击“取消”,它仍会通过保存位置提示循环所有选项卡)。保存部分是我试图自动化的部分。。。我已经联系了McColor的支持人员,他们确实说他们可以进行批量绘图,但我无法使其工作,这似乎与单独绘图一样乏味。 当您运行MCO绘图时,它是在命令行询问问题还是使用拨号框。如果它的命令行,那么你应该能够提供文件名等
在电脑上搜索MCO*并查看文件类型是否为lsp fas dvb exe dll arx等 比加尔,
我创建了MCO-PLOT lisp命令,因此它是一个lsp文件。我像你说的那样搜索了一下电脑,这是唯一的结果。McColor似乎是一种exe文件类型。当我运行MCO-PLOT时,我键入命令,然后它会出现一个对话框,询问我想保存文件的位置。由于我设置lisp函数的方式,它会自动为每个选项卡执行此操作,但我希望它也能自动保存,而不会在每个选项卡上提示我。 需要你张贴Lisp程序,你添加了更多的信息,但没有提供一个提示,你说拨号出现是你的Lisp程序的一部分?
许多软件可以通过命令行驱动,并带有额外的设置,没有额外的信息,这时就会出现拨号框
下面是一个使用lisp编写带有开关的命令行的示例
;by Roy_043
(startapp (strcat gsExe " " "-sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dQUIET""-sOutputFile=\"" trgFile "\" ""\"" (KGA_String_Join srcFileLst "\" \"") "\"" ))
对不起,我很困惑。我在第一篇文章中发布了lisp。对话框不是它的一部分。 后BIGAL引用了(太)小的部分:
http://www.cadtutor.net/forum/showthread.php?97827-打印为PDF并合并为一个文件&p=667826&viewfull=1#post667826 这可能有效。
(defun C:mco-plot ()
(if (= 1 (getvar 'dwgtitled))
(foreach lay (layoutlist)
(setvar 'ctab lay)
(command "_mco_plot" (strcat (getvar 'dwgprefix) lay ".pdf"))
)
)
(princ)
)
页:
[1]
2