明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: w245272914

[源码] 智能批量打印程序

[复制链接]
发表于 2018-1-6 18:19 来自手机 | 显示全部楼层
手机上的论坛。 1. 没看明白,是指pro那个不能自动保存吗? 2. 关于打印质量,在打印机设置里调一下,自带那个打印非黑白色的时候,会使用浅灰色打印,改成强制黑色,效果会好很多。目前个人感觉唯一的问题大概是,在pdf缩比较小看的情况下,细线会显的比较浅色,但放大或者100%下是正常的。 3. 这个有个方法,先在打印机中设置好默认路径和名称,然后在cad打印的时候,用相关的vl函数进行改名和移动,大概是这个思路,具体函数可以在论坛找一下黄大师编的葵花宝典。不过,大范围推广使用的话,每台电脑都要这样设置一遍,会很麻烦。当初经历过,所以极不推荐。你必须要明白不感兴趣的人,你怎么教都不会,对他们来说,傻瓜式一键安装才是王道,否则就要手把手的帮着装好,哪怕是重装… 3.1 当然,本人水平有限,应该有更好的解决办法,你可以多看看秋枫等作品。
 楼主| 发表于 2018-1-8 08:51 | 显示全部楼层
lostbalance 发表于 2018-1-6 18:19
手机上的论坛。 1. 没看明白,是指pro那个不能自动保存吗? 2. 关于打印质量,在打印机设置里调一下,自带 ...

哥们:P:P,你上次也说过该段代码只适用于DWG To PDF.pc3打印机,而不适用pdfFactory Pro打印机
(if (= (type *No*) 'INT) (setq *No* (1+ *No*)) (setq *No* 1))
    (setq path (strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) "-" (itoa *No*) ".pdf"))
DWG To PDF.pc3打印机不能把模型空间打印的一张张图纸集合为一个PDF
而pdfFactory Pro打印机可以把模型空间打印的一张张图纸集合为一个PDF,如用上段红色代码就不能自动保存了


如下代码使用pdfFactory Pro打印机不能自动保存的。
错误提示:
指令: DDDD
請選任選一打印序號==>>
"\n 請選擇需要打印的範圍的圖框==>>"
選取物件: 指定對角點: 找到 4 個

選取物件:
請回答,是(Y)/否(N)。
error: 函數被取消將出圖寫入檔案 [是(Y)/否(N)] <N>: *取消*
儲存變更至頁面設定 [是(Y)/否(N)]? <N> *取消*


我改的代码:
    (if (= (type *No*) 'INT) (setq *No* (1+ *No*)) (setq *No* 1))
    (setq path (strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) "-" (itoa *No*) ".pdf"))
    (command "-plot" "y"         ; 是否需要詳細打印配置
       "模型"           ; 輸入布局、模型名稱
       "pdfFactory Pro"         ; 輸入輸出設備的名稱  此處舉例虛擬打印机 pdfFactory Pro
                                       ; (lisp語言中的一個 \ 符號需要用 \\符號表示,即\=>\\)
                                 ; 例如:共享打印机 \\Adminstractor\Kyocera KM-2560 KX應該表示為\\\\Adminstractor\\Kyocera KM-2560 KX
       "A4"          ; 輸入圖紙尺寸A4
       "m"           ; 輸入圖紙單位(I:英寸 M:毫米)
       st          ; 輸入圖形方向(縱向:P 橫向  )
       "n"           ; 是否反向打印
       "w"           ; 輸入打印區域(顯示:D范圍:E圖形界限 視圖:V 窗口:W)
       p1                   ; 打印圖框左下角點坐標
       p3                   ; 打印圖框右上角點坐標
       "f"           ; 輸入打印比例(F:布滿)
       "c"           ; 輸入打印偏移(居中打印:C)
       "y"           ; 是否按樣式打印
       "monochrome.ctb"           ; 輸入打印樣式名稱
       "y"           ; 是否打印線寬
       "a"           ; 輸入著色打印設置置(按顯示:A  線框:W
                     ; 消隱:H 渲染:R)
       path          ; 是否打印到文件
       "n"           ; 是否保存頁面設置的修改
       "y"           ; 是否繼續打印
    )

发表于 2018-1-8 13:29 | 显示全部楼层
w245272914 发表于 2018-1-8 08:51
哥们,你上次也说过该段代码只适用于DWG To PDF.pc3打印机,而不适用pdfFactory Pro打印机
(if ( ...

你说的是合成一个PDF文件吗,那自带的那个好像是不可以吧。不过个人习惯一张图一个PDF,所以对这个就不了解了。ps,公司买了正版Adobe PDF,那个带有做合集功能,偶尔要用也没关系,哈哈。
如果用第三方那个打印机,那我改的代码就基本不能用了。command前面的都可以删了。然后后面打印到文件那个[path]恢复成["n"]。
以为是Adobe PDF打印机的示例:
1. AutoCAD的添加打印机,添加一个Adobe PDF打印机的pc3副本,然后配置这个pc3副本,自定义特性里面把查看PDF结果关闭,然后输出文件夹改为默认Documents\*.pdf。然后用自带的打印功能随便打印一张,看看出来的pdf文件名称是什么,比如["e://desktop//1model.pdf"]。
2. 用上述修改完的代码。然后在后面加上pdf改名的代码,
(vl-file-rename "e://desktop//1model.pdf" "e://desktop//new.pdf")
(vl-file-copy "e://desktop//new.pdf" "e://work//new.pdf")
(vl-file-delete "e://desktop//new.pdf")
然后如果批量的,考虑加入序号[No]之类的。
大概是这样的代码吧,我没用过,你可以测试下。
不过个人感觉兼容性比较差,至少默认的pdf文件名,中英文环境下就不一致,知道的还可以多加几组判断,不知道的就没办法了。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-1-8 14:10 | 显示全部楼层
好的,哥们,谢谢了。可是如下代码,怎么加入我上面改的代码里面啊。
(vl-file-rename "e://desktop//1model.pdf" "e://desktop//new.pdf")
(vl-file-copy "e://desktop//new.pdf" "e://work//new.pdf")
(vl-file-delete "e://desktop//new.pdf")
 楼主| 发表于 2018-1-10 09:05 | 显示全部楼层
lostbalance 发表于 2018-1-8 13:29
你说的是合成一个PDF文件吗,那自带的那个好像是不可以吧。不过个人习惯一张图一个PDF,所以对这个就不了 ...

哥,最近比较忙啊。
发表于 2018-1-10 11:03 | 显示全部楼层
一直在学习怎么修改批量打印程序,学习下
发表于 2018-1-10 17:24 | 显示全部楼层
w245272914 发表于 2018-1-8 08:51
哥们,你上次也说过该段代码只适用于DWG To PDF.pc3打印机,而不适用pdfFactory Pro打印机
(if ( ...

你把
path          ; 是否打印到文件

改为
  1. "N"          ; 是否打印到文件
复制代码
 楼主| 发表于 2018-1-11 08:48 | 显示全部楼层

哥们,这个已经解决了的,DWG To PDF.pc3打印机可以单个DWG文件批量打印并自动保存了,我已经分享了源码;

但是我现在的问题是pdfFactory Pro打印机,可以打印单个DWG文件的一张张图纸集合为一个PDF文档,但无法自动保存在该文件目录。

43楼哥们,有帮我,但是我不知道怎么加入程序进去

发表于 2018-1-11 09:09 | 显示全部楼层
w245272914 发表于 2018-1-11 08:48
哥们,这个已经解决了的,DWG To PDF.pc3打印机可以单个DWG文件批量打印并自动保存了,我已经分享了源码 ...

呵呵。
你继续。
 楼主| 发表于 2018-1-11 09:22 | 显示全部楼层
lostbalance 发表于 2018-1-8 13:29
你说的是合成一个PDF文件吗,那自带的那个好像是不可以吧。不过个人习惯一张图一个PDF,所以对这个就不了 ...

哥们,能否用代码给我举个例呀,我就会了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 20:04 , Processed in 0.600799 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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