找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 414|回复: 10

[求助] 输出PDF 文件,如何不弹出文件名对话框

[复制链接]

已领礼包: 58个

财富等级: 招财进宝

发表于 2017-9-7 22:06:26 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
想做一个批量输出PDF 的插件,PDF 文件名为属性快对应标签的属性值,如何不弹出cad 原则文件名称的对话框,用alisp 或vlisp 实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-9-7 22:35:40 | 显示全部楼层
要输文件名的地方,直接给文件名不行吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 00:05:56 来自手机 | 显示全部楼层
好像不行 我看了秋枫的源码 试了试也不行,网上有帖子说用command 的方法 还有说先自动生成PDF 再改名称的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-8 00:28:57 | 显示全部楼层

你不用COMMAND方法,你用的是什么方法呢? 代码贴上来吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 09:38:16 | 显示全部楼层
用的是帮助文件的代码,把打印机提示覆盖文件不选就可以了
可是新问题来了,只能打印一次,cad提示:已经有一个打印或发布作业在后台进行处理。一次只能处理一个作业... ...

  1. (defun c:tt()
  2.     ;; This example allows the user to define an area in the current layout to plot
  3.     ;; and displays a plot preview of the defined area.
  4.     ;;
  5.     ;; * Note: You will have to exit the plot preview
  6.     ;;  before the VBA example will stop and control will be returned
  7.     (setq acadObj (vlax-get-acad-object))
  8.     (setq doc (vla-get-ActiveDocument acadObj))

  9.     ;; Get first point in window
  10.     (setq point1 (vlax-variant-value (vla-GetPoint (vla-get-Utility doc) nil "Click the lower-left of the window to plot.")))

  11.     ;; Change this to a 2D array by removing the Z position
  12.     (setq pointTemp1 (vlax-make-safearray vlax-vbDouble '(0 . 1)))
  13.     (vlax-safearray-put-element pointTemp1 0 (vlax-safearray-get-element point1 0))
  14.     (vlax-safearray-put-element pointTemp1 1 (vlax-safearray-get-element point1 1))
  15.    
  16.     ;; Get second point in window
  17.     (setq point2 (vlax-variant-value (vla-GetCorner (vla-get-Utility doc) point1 "Click the upper-right of the window to plot.")))

  18.     ;; Change this to a 2D array by removing the Z position
  19.     (setq pointTemp2 (vlax-make-safearray vlax-vbDouble '(0 . 1)))
  20.     (vlax-safearray-put-element pointTemp2 0 (vlax-safearray-get-element point2 0))
  21.     (vlax-safearray-put-element pointTemp2 1 (vlax-safearray-get-element point2 1))
  22.    
  23.     ;; Send information about window to current layout
  24.     (vla-SetWindowToPlot (vla-get-ActiveLayout doc) pointTemp1 pointTemp2)
  25.    
  26.     ;; Read back window information
  27.     (vla-GetWindowToPlot (vla-get-ActiveLayout doc) 'point1 'point2)

  28.     (setq point1 (vlax-safearray->list point1)
  29.                  point2 (vlax-safearray->list point2))
  30.   
  31.     (alert (strcat "Press any key to plot the following window:"
  32.                    "\nLower Left: " (rtos (nth 0 point1) 2) ", " (rtos (nth 1 point1) 2)
  33.                    "\nUpper Right: " (rtos (nth 0 point2) 2) ", " (rtos (nth 1 point2) 2)))
  34.    
  35.     ;; Make sure the instruction is to plot a view, not some other plot style
  36.     (vla-put-PlotType (vla-get-ActiveLayout doc) acWindow)
  37.    
  38.     ;; Send Plot To Window - A plot device must be set before a preview can be created
  39.     (vla-put-ConfigName (vla-get-ActiveLayout doc) "adobe PDF.pc3")
  40.     ;(vla-DisplayPlotPreview (vla-get-Plot doc) acFullPreview)
  41.   (vla-PlotToDevice (vla-get-Plot doc))
  42. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 17:39:05 来自手机 | 显示全部楼层
找到办法了,还是上面代码,可能我哪里写错了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 17:43:40 来自手机 | 显示全部楼层
找到办法了,还是上面代码,可能我哪里写错了。大致思路就是,用adobe pdf. Pc3配置文件,配置文件选自动覆盖,这样会在我的文档下生成一个pdf 文件,但是由于生成文件与lisp 不同步,需要加个循环判断文件是否已经生成,如果生成pdf 文件,将其改名,再进行下一步,现在就就担心没有出现错误,没有生成pdf 文件,陷入死循环
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 17:44:56 来自手机 | 显示全部楼层
有办法配置pdf 打印机默认生文件的名称么
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-9-8 20:26:14 | 显示全部楼层

生成文件后,你代码还需做什么吗? 不做,就退出呗。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

 楼主| 发表于 2017-9-8 20:56:49 来自手机 | 显示全部楼层
Lisphk 发表于 2017-9-8 20:26

因为PDF 打印机默认生成文件名是同一个文件,所以要批量打印,必须先把已经生成的文件重命名,否则就被覆盖了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2017-9-9 00:09:39 | 显示全部楼层
楼主怎么解决的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-20 09:39 , Processed in 0.477467 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表