明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: w245272914

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

[复制链接]
 楼主| 发表于 2017-12-28 17:08 | 显示全部楼层
freehand8008 发表于 2017-12-28 17:05
秋风大侠的比较王道!

有程序吗?哥,可以上传分享下吗?感谢
发表于 2017-12-28 18:34 | 显示全部楼层
w245272914 发表于 2017-12-28 13:59
哈哈,哥们,谦虚了。
可是我我刚刚加了你的path,加载运行出现如下错误:
選取物件:  error: 損壞的引 ...

;;用vl的话,一定要加载vl-load-com;建议放在程序第一条
;;如果有函数库之类的话,建议直接放到第一条去,几乎是必须的
(vl-load-com)
;;之前的没有定义序号No,补上
;;另外,此处序号No如果做全局函数的话,可以考虑加*号或其他前缀,避免冲突
(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"         ; 是否需要詳細打印配置
   "模型"           ; 輸入布局、模型名稱
   "DWG To PDF.pc3"         ; 只支持CAD自带的这个打印机
   "A4"          ; 輸入圖紙尺寸A4
   "m"           ; 輸入圖紙單位(I:英寸 M:毫米)
   st          ; 輸入圖形方向(縱向 橫向  )
   "n"           ; 是否反向打印
   "w"           ; 輸入打印區域(顯示范圍:E圖形界限 視圖:V 窗口:W)
   p1                   ; 打印圖框左下角點坐標
   p3                   ; 打印圖框右上角點坐標
   "f"           ; 輸入打印比例(F:布滿)
   "c"           ; 輸入打印偏移(居中打印:C)
   "y"           ; 是否按樣式打印
   "monochrome.ctb"           ; 輸入打印樣式名稱
   "y"           ; 是否打印線寬
   "a"           ; 輸入著色打印設置置(按顯示:A  線框:W
                 ; 消隱:H 渲染:R)
   path           ; 是否打印到文件,用自带打印机,这里换成路径就可以,不用加y/n了
   "n"           ; 是否保存頁面設置的修改
   "y"           ; 是否繼續打印
)
 楼主| 发表于 2017-12-29 08:58 | 显示全部楼层
lostbalance 发表于 2017-12-28 18:34
;;用vl的话,一定要加载vl-load-com;建议放在程序第一条
;;如果有函数库之类的话,建议直接放到第一条 ...

哥,还是有问题。我可以改改上传附件吗?我对比下我改的与你改的区别。然后来判断是那里的问题的
感谢啊
发表于 2017-12-29 16:11 | 显示全部楼层
w245272914 发表于 2017-12-29 08:58
哥,还是有问题。我可以改改上传附件吗?我对比下我改的与你改的区别。然后来判断是那里的问题的
感谢啊

把图纸名称改一下,再试试。自带pdf打印机的A4图纸,名称用["ISO full bleed A4 (297.00 x 210.00 毫米)"],不包括[]。
另外程序出错进行调试,可以在有可能错误的代码行后加[(princ "\n==========")]进行提示,如果命令行的提示能正常显示,就证明上面的代码格式之类的没有问题。然后一步步定位,直到找到有问题的代码行。
涉及command的,可以按我之前的示例那样,把command拆开来。
发表于 2018-1-2 09:12 | 显示全部楼层
 楼主| 发表于 2018-1-4 08:38 | 显示全部楼层
freehand8008 发表于 2018-1-2 09:12
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=171609&highlight=%C5%FA%C1%BF%B4%F2%D3%A1

谢谢:P  
 楼主| 发表于 2018-1-4 08:39 | 显示全部楼层
lostbalance 发表于 2017-12-29 16:11
把图纸名称改一下,再试试。自带pdf打印机的A4图纸,名称用["ISO full bleed A4 (297.00 x 210.00 毫米)" ...

谢谢:P   热心的人,我在试试,这几天放假没有上论坛的
 楼主| 发表于 2018-1-4 09:06 | 显示全部楼层
lostbalance 发表于 2017-12-29 16:11
把图纸名称改一下,再试试。自带pdf打印机的A4图纸,名称用["ISO full bleed A4 (297.00 x 210.00 毫米)" ...


哥~我是调试了半天,还是错误的,不明指令M。是不是前面一个指令错误啊。
我开始调试用了 ISO full bleed A4 (297.00 x 210.00 毫米),不行
后面我就用了DWG To PDF.pc3里面,有默认的打印机,我就随便选择了一个,结果还是不明指令M。

指令: dddd
請選任選一打印序號==>>
"\n 請選擇需要打印的範圍的圖框==>>"
選取物件: 指定對角點: 找到 4 個

選取物件:  不明的指令「M」。請按 F1 取得說明。
不明的指令「P」。請按 F1 取得說明。
不明的指令「N」。請按 F1 取得說明。
不明的指令「W」。請按 F1 取得說明。
不明的指令「F」。請按 F1 取得說明。
不明的指令「C」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。
不明的指令「MONOCHROME.CTB」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。
不明的指令「A」。請按 F1 取得說明。
不明的指令「C:\DOCUMENTS AND SETTINGS\XIANGYOU_ZENG\桌面\A10600008P(BK07)-9.PDF」。請按 F1
取得說明。
不明的指令「N」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。
不明的指令「M」。請按 F1 取得說明。
不明的指令「L」。請按 F1 取得說明。
不明的指令「N」。請按 F1 取得說明。
不明的指令「W」。請按 F1 取得說明。
不明的指令「F」。請按 F1 取得說明。
不明的指令「C」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。
不明的指令「MONOCHROME.CTB」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。
不明的指令「A」。請按 F1 取得說明。
不明的指令「C:\DOCUMENTS AND SETTINGS\XIANGYOU_ZENG\桌面\A10600008P(BK07)-10.PDF」。請按 F1
取得說明。
不明的指令「N」。請按 F1 取得說明。
不明的指令「Y」。請按 F1 取得說明。


本帖子中包含更多资源

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

x
发表于 2018-1-5 19:30 | 显示全部楼层
w245272914 发表于 2018-1-4 09:06
哥~我是调试了半天,还是错误的,不明指令M。是不是前面一个指令错误啊。
我开始调试用了 ISO full bl ...

粗看了下代码还有错误提示,感觉还是在图纸名称设置的有问题。
lsp打开,我这显示的图纸名称那里出现了乱码,可能是繁中和简中编码格式的问题吧。
用AutoCAD自带的打印功能看一下,DWG TO PDF.pc3打印机的纸张名称是什么,再替换到lsp中,不要直接用我给你的那个再试试。
另外,看错误提示,感觉问题还是出来command那里,你现在AutoCAD中看看你这个代码格式对不对,可能AutoCAD语言版本不同,代码格式有变化。
大致步骤如下,在命令行输入[-plot],不用加command,然后根据提示输入相关参数,并与lsp中的对应参数做比较,有问题就相应调整。
 楼主| 发表于 2018-1-6 14:41 | 显示全部楼层
lostbalance 发表于 2018-1-5 19:30
粗看了下代码还有错误提示,感觉还是在图纸名称设置的有问题。
lsp打开,我这显示的图纸名称那里出现了 ...

    (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"         ; 是否需要詳細打印配置
       "模型"           ; 輸入布局、模型名稱
       "DWG To PDF.pc3"         ; 輸入輸出設備的名稱  此處舉例虛擬打印机 pdfFactory Pro
                                       ; (lisp語言中的一個 \ 符號需要用 \\符號表示,即\=>\\)
                                 ; 例如:共享打印机 \\Adminstractor\Kyocera KM-2560 KX應該表示為\\\\Adminstractor\\Kyocera KM-2560 KX
       "ISO expand A4 (210.00 x 297.00 公釐)"          ; 輸入圖紙尺寸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"           ; 是否繼續打印
    )


lostbalance:非常非常的感谢你,这么有耐心的教导我,经过不断的调试,终于明天是什么原因了还是你说的command  -polt  的问题。不过又有问题了
一问题缘由:
DWG To PDF.pc3:此打印机只能打印模型空间的一张张做好的图纸并自动一张张的保存PDF到该文件目录。
pdfFactory Pro:    此打印机可以打印模型空间的一张张做好的图纸,并把一张张保存为一个PDF文件,并不是像DWG To PDF.pc3自动一张张的保存PDF到该文件目录。
二、问题点:
而且DWG To PDF.pc3的打印质量没有pdfFactory Pro的好,可能一个是国有银行,一个是支付宝的问题
我本人喜欢用pdfFactory Pro打印机,不知道是保有个函数可以控制pdfFactory Pro打印机的自动保存,每次我用完命令,还要我手动保存一下,哈哈~

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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