zhangcn 发表于 2024-1-1 22:31:45

源码:批量打印,一键设置打印,一键发布A4、A3到打印机打印,一键导JPG、PDF到...

本帖最后由 zhangcn 于 2024-1-17 21:09 编辑

轻量办公,打图自动化
软件环境:浩辰cad2022-2024,AutoCAD2024中测试正常,(浩辰cad布局目前不太兼容好)。
使用场景:只在“模型”环境下打少量几张图,频繁的打印JPG、PDF、纸张打印机打印。手动选矩形框、图块框打印,轻量办公。大量的图纸批量打印建议用源泉插件、秋风批量打印……。
实现功能:一键设置A4、A3打印,一键发布A4、A3到打印机打印,一键导JPG、PDF到桌面。
       识别矩形、图框块生成打印范围,自适应横竖图幅,实现简单的批量打印。
服用前注意:请参考下图,在相应的命令下修改成自己常用的“打印机名”“打印样式”“纸张名”。
---------------------------------------------------------------------------------------------------------------------------------------------
命令说明:
A3-JPG-BLACK    (纸张尺寸:A3宽4961*高3508像素大小(需要自己设置),JPG批量图导出)
A3-JPG-COLOR    (纸张尺寸:A3宽4961*高3508像素大小(需要自己设置),JPG批量图导出)
A3-PDF-BLACK    (纸张尺寸:“ISO_full_bleed_A3_(420.00_x_297.00_毫米)”,色彩模式:黑色,PDF打量导出)
A3-PRINT-BLACK (纸张尺寸:“ISO_full_bleed_A3_(420.00_x_297.00_毫米)”,色彩模式:黑色,A3打印机批量打印)
A3-PRINT-COLOR (纸张尺寸:“ISO_full_bleed_A3_(420.00_x_297.00_毫米)”,色彩模式:彩色,A3打印机批量打印)
A3-PRINT-SET   (仅设置,用于配合其它专业批量打印软件打印,
                                       纸张尺寸:“ISO_full_bleed_A3_(420.00_x_297.00_毫米)”,色彩模式:彩色,)

A4-PRINT-BLACK (纸张尺寸:ISO_full_bleed_A4_(297.00_x_210.00_毫米),色彩模式:黑色,A4打印机批量打印)
A4-PRINT-COLOR (纸张尺寸:ISO_full_bleed_A4_(297.00_x_210.00_毫米),色彩模式:彩色,A4打印机批量打印)
A4-PRINT-SET      (仅设置,用于配合其它专业批量打印软件打印,
                                          纸张尺寸:ISO_full_bleed_A4_(297.00_x_210.00_毫米),色彩模式:彩色,)
---------------------------------------------------------------------------------------------------------------------------------------------
本lisp参考
1、如何用lisp分别保存多个打印设置为打印页面设置
http://bbs.mjtd.com/forum.php?mo ... e=1&_dsign=d99a9185
2、cad布局空间批量转jpg
http://bbs.mjtd.com/forum.php?mo ... jpg&_dsign=2765b8f4
3、模型空间批量打印
http://bbs.mjtd.com/forum.php?mo ... e=1&_dsign=1880da71
结合chatGPT优化得来,在此感谢以上朋友提供的源码!
还要感谢伟大的AI时代,让门外汉也能简单编程和调试程序!
---------------------------------------------------------------------------------------------------------------------------------------------
已知BUG
AutoCAD测试正常,浩辰cad布局目前不太兼容好,期待懂针对浩辰优化的朋友出手。
目前测试矩形、和图框块有效,不识别编组,编组打印会把编组内每一个图形元素逐个打。

由于输出图片得用像素单位,打印用毫米单位,所以脚本分为两个。
0JPG-Export.lsp 用于导JPG
1Key-Print.lsp 用于打印和导PDF

G〆h 发表于 2024-1-7 21:40:20

类似楼主的情况自己也做了一个,主要还是把平时的工作流程总结在程序里面,比如某些图层的显隐,某些对象的显隐等,针对不同情况出不同的图。
另外:可用选择范围来决定打印方向
(setq pt1 (getpoint "\n 第一点:"))
        (setq pt2 (getcorner pt1 "\n 另一角点:"))
        (setq fx (if(>(apply '-(mapcar 'abs(mapcar '- pt1 pt2)))0) "L" "P"))

qazxswk 发表于 2024-1-13 12:04:41

G〆h 发表于 2024-1-7 21:40
类似楼主的情况自己也做了一个,主要还是把平时的工作流程总结在程序里面,比如某些图层的显隐,某些对象的 ...

   (setq fx (if(>(apply '-(mapcar 'abs(mapcar '- pt1 pt2)))0) "L" "P"))这句的作用是什么?

muai2010 发表于 2024-1-7 13:19:39

zhangcn 发表于 2024-1-6 10:32
占个楼,有更新说明的放此楼。
2024年1月7日,最新更新:实现一键设置A4、A3打印,一键发布A4、A3到打印机 ...

加载命令: (LOAD "C:/Users/Administrator/Downloads/PrintSet.lsp") 语法错误

yaokui25 发表于 2024-1-2 12:56:56

谢谢楼主奉献好的代码

zhangcn 发表于 2024-1-6 10:32:46

本帖最后由 zhangcn 于 2024-1-17 21:08 编辑

浩辰cad布局目前不太兼容

muai2010 发表于 2024-1-7 18:00:34

muai2010 发表于 2024-1-7 13:19
加载命令: (LOAD "C:/Users/Administrator/Downloads/PrintSet.lsp") 语法错误

那没缘分了,只有autocad

qazxswk 发表于 2024-1-13 12:02:27

只能点选,不能框选?

zhangcn 发表于 2024-1-13 18:57:28

qazxswk 发表于 2024-1-13 12:04
(setq fx (if(>(apply '-(mapcar 'abs(mapcar '- pt1 pt2)))0) "L" "P"))这句的作用是什么?

应该是纸张横竖判断

ljpnb 发表于 2024-1-13 20:02:47

批量打印我还真用过,2年前写的程序,框选多张图纸,一键生成JPG文件或PDF文件,当然只适用自己的图框
页: [1] 2
查看完整版本: 源码:批量打印,一键设置打印,一键发布A4、A3到打印机打印,一键导JPG、PDF到...