乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 77|回复: 19

[编程交流] 保存PDF的LISP函数

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:11:36 | 显示全部楼层 |阅读模式
嘿,大家好,我对整个论坛的事情都是陌生的,所以如果我应该开始一个新的线程,我很抱歉,但我确实有一个与此相关的问题,我希望你们能帮助我。
 
 
我一直在尝试使用MColor 9自动化我的绘图过程,它是用于彩色渲染的CAD的扩展。问题是我试图一次绘制多个选项卡,或者自动背靠背绘制。使用Mcolor打印的命令是“MCO_PLOT”,但它一次只能执行一个选项卡。我创建了一个LISP,使我真正接近我想要的地方,这是:
 
  1. (defun C:mco-plot ()
  2. (foreach lay (layoutlist)
  3.    (setvar 'ctab lay)
  4.    (command "_mco_plot")
  5. ); end foreach
  6. ); end defun

 
 
 
*我将新命令从“mco_plot”更改为“mco plot”,这样就不会发生冲突。
 
 
这个LISP将自动背靠背地绘制每个选项卡,但问题是,在每个选项卡上,它都会询问我要将PDF保存在哪里。我真正需要的是添加到这个LISP函数中的东西,它要么让PDF自动保存到当前图形文件夹中,要么让我指定一次位置,然后为该位置的所有选项卡保存PDF。我知道这是独一无二的,因为不是每个人都有McColor 9,直到我现在的工作,我之前甚至没有听说过它。然而,我认为必须有一个解决方案,因为我现在需要的唯一部分是一种方法来指定保存位置一次(每个项目一次),然后我会很乐意去。
 
 
谢谢你抽出时间!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:16:08 | 显示全部楼层
如果MCO-PLOT被编译为FAS或a。net那么你可能无法改变它。某些软件具有扩展功能,可以在运行命令时执行您想要的操作。试图查找有关McColor 9的信息?
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 17:18:19 | 显示全部楼层
我把你的帖子移到了AutoLISP、Visual LISP和DCL论坛,请在正确的论坛中发布。
 
我还删除了你在其他帖子中的帖子,请只发布一次你的问题。
 
请阅读代码发布指南,并编辑代码以包含在代码标签中。
[NOPARSE]
  1. Your Code Here
[/NOPARSE]=
  1. Your Code Here
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:23:20 | 显示全部楼层
比加尔,
 
 
我不确定MCO-PLOT是否编译为FAS或a。网我甚至不确定它是否真的是一个扩展,它已经在我的工作电脑上加载,他们已经使用了好几年了。它可能是一个单独的程序,链接到CAD,但我不确定。我发布的代码已经可以对每个选项卡重复MCO-PLOT命令了,但它会提示我为每个选项卡选择一个保存pdf的位置(例如,如果我运行命令,它会要求保存第一个选项卡,然后将其打印为pdf,然后要求保存下一个选项卡,等等。即使我点击“取消”,它仍会通过保存位置提示循环所有选项卡)。保存部分是我试图自动化的部分。。。我已经联系了McColor的支持人员,他们确实说他们可以进行批量绘图,但我无法使其工作,这似乎与单独绘图一样乏味。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:24:43 | 显示全部楼层
当您运行MCO绘图时,它是在命令行询问问题还是使用拨号框。如果它的命令行,那么你应该能够提供文件名等
 
在电脑上搜索MCO*并查看文件类型是否为lsp fas dvb exe dll arx等
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:27:41 | 显示全部楼层
比加尔,
 
 
我创建了MCO-PLOT lisp命令,因此它是一个lsp文件。我像你说的那样搜索了一下电脑,这是唯一的结果。McColor似乎是一种exe文件类型。当我运行MCO-PLOT时,我键入命令,然后它会出现一个对话框,询问我想保存文件的位置。由于我设置lisp函数的方式,它会自动为每个选项卡执行此操作,但我希望它也能自动保存,而不会在每个选项卡上提示我。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:33:22 | 显示全部楼层
需要你张贴Lisp程序,你添加了更多的信息,但没有提供一个提示,你说拨号出现是你的Lisp程序的一部分?
 
许多软件可以通过命令行驱动,并带有额外的设置,没有额外的信息,这时就会出现拨号框
 
下面是一个使用lisp编写带有开关的命令行的示例
  1. ;by Roy_043
  2. (startapp (strcat gsExe " " "-sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dQUIET  ""-sOutputFile="" trgFile "" """" (KGA_String_Join srcFileLst "" "") """ ))
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:36:39 | 显示全部楼层
对不起,我很困惑。我在第一篇文章中发布了lisp。对话框不是它的一部分。
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:38:46 | 显示全部楼层
后BIGAL引用了(太)小的部分:
http://www.cadtutor.net/forum/showthread.php?97827-打印为PDF并合并为一个文件&p=667826&viewfull=1#post667826
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:42:17 | 显示全部楼层
这可能有效。
  1. (defun C:mco-plot ()
  2. (if (= 1 (getvar 'dwgtitled))
  3.    (foreach lay (layoutlist)
  4.      (setvar 'ctab lay)
  5.      (command "_mco_plot" (strcat (getvar 'dwgprefix) lay ".pdf"))
  6.    )
  7. )
  8. (princ)
  9. )
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 10:11 , Processed in 0.659959 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表