【QQ】按块打印_v1.7:适配纸张+记录路径+缩放的块
本帖最后由 kucha007 于 2023-6-3 15:16 编辑批量打印,最早想法来自这里:http://bbs.mjtd.com/thread-187146-1-1.html。
之后13楼的小伙伴提供的另一个程序,感觉比我的有意思。
所以就花了点时间摸索了一下,把变量都储存为全局,方便下一次打印。
v1.1
01-用法也很简单,调整好纸张和打印机后。关键词S选图框块名,然后关键词Y或者直接空格选对象,选完直接打印。
02-纸张横向和竖向通过边界框自动判断,图块打印顺序先左右后上下,1:1居中打印(不是布满)。
03-默认情况下PDF存放在当前文件路径下的"--PDF--"文件夹,可以自己设置,但这里不是全局变量。
04-我还不会写ini配置文件,所以只是通过全局变量的方式储存设置,希望有大佬可以给个文件参考一下。
v1.2
01-搞错了一个函数的用法,导致报错。已经重新调整了,下最新的就行。
02-增加样式模式判断,根据图纸过滤样式表类型(CTB/STB)
03-修复选动态块无法获取块名的情况(匿名块)
v1.3
01-增加配置文件记录:打印机+纸张大小+打印样式表。配置文件放在D盘根目录,当使用"打印<Y>"时则用当前设置更新配置文件。
02-此版本还不成熟,可能会报错,慎用。
v1.4
01-配置文件优化,把所有设置存到配置。
02-打印方式应小伙伴的要求,改为居中布满打印。
03-增加图纸自匹配的选项,勾选以后选块可以推荐纸张。
(但目前是根据块本身的大小来适配,所以拾取块名的时候,块缩放可能会导致推荐的纸张错误。但打印的时候就无所谓了,反正都是布满图纸)
(原理是:必须有DWG TO PDF.PC3这个打印机,并且打印机存在自定义纸张。过程参考这个帖子:http://bbs.mjtd.com/thread-187356-1-1.html
04-起始序号改为全局变量,避免多种块交替打印还得计算序号。
v1.5
01-当勾选"适配纸张"时,自动切换到合适的纸张大小(如果有),之前是只能先勾选再选块,现在两者的先后顺序无所谓了
02-更新判断,当配置文件记录的打印机索引大于打印机列表的长度时,将列表的最后一项作为启动时的打印机,避免报错
03-新版仍然可能存在bug或者不合理的地方,欢迎使用并且反馈或者修改。
v1.6
01-支持记录路径。虽然我个人用不到,但感觉记录路径也许会好一点?首次启动时存放在:D:\--PDF--\
v1.7
01-首次启动,默认保存PDF到文件路径下的"--PDF--"文件夹
02-自动推荐纸张时,缩放后的块的长宽会被除以它在XY上的缩放比例,进而正确的推荐纸张。也就是说A4大小的块,即使放大10倍,仍然被识别为A4
补充说明:压缩包是打印机和自定义纸张,自定义纸张存放在PMP中。
如果你不想自己新建纸张的话,可以使用我的。只是每个人电脑路径不同,需要你自己重新附着PMP到打印机上。
本帖最后由 qazxswk 于 2023-3-20 00:36 编辑
(command "_.plot"
"Yes"
(car XX)
(nth (atoi (nth 0 Global:PtVar)) PrintNameLst) ;打印机名
(nth (atoi (nth 1 Global:PtVar)) PaperSizeLst) ;纸张大小
"Millimeters"
(car (reverse XX));取最后一个元素
"No"
"Window"
(cadr XX)
(caddr XX)
"Fit"
"Center"
"Yes"
(nth (atoi (nth 2 Global:PtVar)) PlotStyleLst) ;打印样式
"Yes"
""
)
这里,"_.plot" 改为"-plot" ,在浩辰上的问题解决了,就是用透明命令,不用弹窗了。在autocad上也是一样,用"-plot" 不会弹窗了。另外,目前我在浩辰CAD使用正常了,但在autocad2021使用,输出文件夹里,是空的。
你的QQ号是多少,我想直接跟你QQ反馈。
qazxswk 发表于 2023-3-20 00:29
(command "_.plot"
"Yes"
(car XX)
AutoCAD里面加下划线是为了适配自动翻译命令。浩辰不清楚什么情况,有问题你自己改,改好了就行哈。不用和我私下反馈的~
当然你改好了方便的话就传一份上来,我帮你置顶
本帖最后由 酷酷提 于 2023-3-13 10:20 编辑
打印出来的PDF是空白的是咋回事呢;
而且正常来说应该一个图框一页PDF,这个4个图框打印出来也只有一页,而且是空白无任何内容的,我的CAD版本是2022;
还有就是点了 “打印”后,提示选择图框,然后问从序号多少开始,有几率进入错误的无限循环,但有时候又不进入错误循环
赞一个,奉献! 精益求精!点赞! 谢谢大佬分享!!!明经有您更精彩!!! 关于程序需要获取的初始变量值,
你可以使用任意的文本文件,记录需要保存的变量与值,格式你可以自己定义(ini,cfg,xml,json...随意)
直接记录到win系统的注册表中也行,还可以使用 xrecord 记录到dwg文档中。 试试效果,试试效果, e2002 发表于 2023-3-13 09:50
关于程序需要获取的初始变量值,
你可以使用任意的文本文件,记录需要保存的变量与值,格式你可以自己定义 ...
感谢!有时间找资料学习一下 为什么打不出来呢? 实验了一下,似乎不能够自动缩放,以匹配纸张大小?还是说,哪里没设置对呢