批量打印程序 v3.5.8
邱枫，2011-06-04
程序简介：这是一个为AutoCAD2000以上版本设计的单DWG多图纸的批量打印、批量生成布局、批量分图程序。程序根据自己判定的图框位置与尺寸，根据当前的打印机设置，自动调整打印的方式，实现批量打印、批量生成布局、批量分图。
免责声明：本程序仅提供作为应用上的参考, 而未声明或隐含任何保证；对于任何特殊用途之适应性, 以及商业销售所隐含作出的保证, 在此一概予以否认。
拒绝担保：拒绝任何责任担保，因使用该程序所致的全部风险及后果均由用户自己承担。
邱枫， 2011-06-04
arcqiufeng@163.com; arcqiufeng@gmail.com
主页：http://dl.dbank.com/c04t0y2483#

免责声明：本程序仅提供作为应用上的参考, 而未声明或隐含任何保证；对于任何特殊用途之适应性, 以及商业销售所隐含作出的保证, 在此一概予以否认。

拒绝担保：拒绝任何责任担保，因使用该程序所致的全部风险及后果均由用户自己承担。

使用方法：直接在AutoCAD命令行上输入BPLOT或BatchPlot，或(仅针对有安装程序的版本)在 AutoCAD的文件（File）菜单下选择：“批量打印”或“批量打印实用工具”下级菜单中的相应条目。


简要使用说明：

命令：BatchPlot / BPlot

◇ 图框：图框的判断方式

    理正图框：判断依据————在图层*_TITLE或*-图框、*-图框标题层中的4个顶点的零宽度闭合多义线，程序就认为是理正的图框。
    图块：这种情况，图框是图块。程序根据用户提供的数据判定。
    图层：在指定图层中的4个顶点的零宽度闭合多义线，程序就认为是图框。
    程序自动消除重复图框与相互嵌套的图框。


◇ 图块与图层：图框为图块或图层时的设置。可以使用通配符指定图块名或图层名，也可以直接从图中拾取或从列表中选择。

支持的通配符：
#(磅值符号)：匹配任意单个数值字符
@(at)：匹配任意单个字母字符
.(句号)：匹配任意单个非字母数值字符
*(星号)：匹配任意字符序列，包括空字符串，它可以出现在任何位置，包括开头、中间和结尾处
?(问号)：匹配任意单个字符
~(波浪号)：如果它是模式字符串的第一个字符，则匹配除此字符串之外的任意字符串
[...]：匹配括号中的任意一个字符
[~...]：匹配不在括号中的任意单个字符
–(连字符)：用在括号里面，用来指明单个字符的取值范围
,(逗点)：分隔两个模式字符串
`(单引号)：特殊转义字符（按字义读取随后的字符）

◇ 输出方式：提供了5种输出方式。

    直接批量打印，即以当前设置输出到打印机
    批量生成布局。根据所选的图框生成布局，以后就无需模型空间批量打印程序了。可以使用标准的PLOT命令，打印所选择的布局。
    生成PLT文件。根据设定生成。
    切分图纸为单独DWG。这个是使用WBlock方式把每张图纸存成一个单独的DWG文件。应网友要求增加这个功能。
    打印已有布局。以显示的标签顺序打印全部或选择的布局。这个命令比AutoCAD2005的Publish命令节省内存。有时在 Publish命令无法正常工作时可以作为部分功能的替代。


◇ 选择批量打印图纸：这是最主要的一步。从图中选择图框，自动过滤非图框物体。当没有任何图纸选中时，预览与确定两个按钮是灰显不可用的。命令启动时自动记忆上次批量打印选择的图框。

◇ 亮显: 在图中以红色虚线框加叉表示当前选中的图纸。

◇ 打印设置：使用AutoCAD的页面设置命令对当前打印机、当前纸张大小、当前打印样式表进行设定。最后请点击“确定”或“OK”回到主对话框。无需设定窗选范围，居中打印，打印比例、旋转等等，因为本程序会根据选中的各个图纸的不同情况自动设定。

    预设配置：用户可以从列表中选择一个预设配置。添加／删除／编辑预设配置列表在“打印设置..”对话框页面设置栏中点“添加 (Add)”修改。
    份数：打印份数会自动记忆上次的打印份数，因此打印前请小心设置，确认份数，以免多印。


◇ 打印比例：

    自动比例：图纸大小与图框外轮廊线匹配，并对比例自动取整（一般建筑中用的整数比例），即允许图框有点误差，如果计算出比例为 1:199.6之类的数值，自动取为1:200
    适合图纸：图纸可打印区域与图框外轮廊线匹配，这样可以打印出外轮廓线。相当于AutoCAD标准比例中的"Scale To Fit"
    固定比例：对所有选中的图纸使用指定的固定比例。需用户手动输入比例值。


◇ 图纸定位：

    自动旋转：打印时自动根据图框形状与纸张决定是否旋转90度打印。
    自动 居中打印：打印时自动居中打印。
    偏移：同AutoCAD标准Plot命令。需手动输入X, Y方向的偏移数值。


◇ 打印顺序：

    按选择顺序：打印时按照在屏幕上选择图框时的顺序打印。
    左→右，上→下：按先左右后上下的顺序打印。
    上→下，左→右：按先上下后左右的顺序打印。
    逆序：按前面设定的顺序的反向顺序打印。
    逐份打印：多张图纸打印多份的情况下，按1，2，3，……，n；1，2，3……n的顺序打印；如不勾选这项，按1,1,1,… 1;2,2,2,…2; …n,n,n,…n的顺序打印。使用逐份打印的方式需要计算机逐份处理，比较费时。


◇ 文件／布局名设置：在这里指定生成的布局名称、PLOT文件名称或dwg文件名称及其扩展名。

    名称样板：文件名。用户在这里可以手工指定要批量生成的文件名或布局名的格式。支持丰富的自定义变量功能。用户可以自行手工书写变量，也可以利用“变量..”按钮来帮助创建。
    目前支持一部分常用变量:
        DWG文件名<DWGNAME>、DWG所在文件夹的文件夹名<DWGFOLDERNAME& gt;、当前日期< DATE>、当前时间<TIME>、当前使用的计算机名<COMPUTERNAME& gt;、当前登录的用户名< USERNAME>
    以及：
        <Num:起始值:数字位数>、<Txt:图层名:第几个文字>、<Att:图块名:属性标记>、<Var: 字符串形式的AutoCAD系统变量>、<ANum:分隔符:数字位数>这些形式。
    保存位置：PLT保存的位置。默认为当前的文件位置。
    重名处理设置当碰到已有同名文件或布局存在时的处理方式。覆盖指直接覆盖掉旧文件或布局；备份指将旧文件或布局改名（后面加 _bak）；自动编号顺延指在文件名中的自动编号段编号自动向后顺延直到不再重名。


◇ 切分DWG文件设置：提供两个选项：

    写块：调用系统的WBlock写块命令来分图。这种方式生成的文件尺寸最小，但会丢失一些扩展图形数据，如“组”定义。
    清理并保存：使用保存DWG的方式，保存前清理无用的块/标注样式/图层/线型/打印样式/形/文字样式/多线样式/表格样式/注册应用程序，清理空组，尽可能地减小DWG文件尺寸。

◇ 布局设置： 在布局中强制使用图纸空间的线型比例。这一项选中后，在生成的布局中打印也将使用模型空间的显示线型比例。

◇ 预览：依次预览各图

◇ 应用：用于在不打印的情况下保存批量打印的设置

◇ 确定：开始批量打印／生成布局／生成PLT文件

◇ 取消：退出，不保存设置

◇ 帮助：显示本文。

命令：DeleteBPlotData

在一般情况下，执行批量打印程序后，程序会在DWG文件中记录并保存上次设置的信息。使用这个命令可以清除这些信息，以复位到默认设置。在批量打印程序无法启动时，也可以先试试用这个命令重置为初始设置。


捐赠 AutoCAD BatchPlot 批量打印程序

AutoCAD Batchplot 批量打印程序 是一款免费软件。没有任何功能限制。然而，如果你喜欢它想让它继续的发展下去，不断的更新。您可以通过捐赠来支持软件的今后发展。

我的捐赠费用最低为 20 元，然而，如果愿意给我更多的支持，您可以捐助更多。

目前我只支持使用支付宝帐号捐赠。捐赠可登录支付宝网站，直接向支付宝帐号 arcqiufeng@163.com 付款。

支付宝的地址：https://www.alipay.com/
感谢您对我的支持！如果您对我作了捐赠，请同时用电子邮件通知我。我会在将来的版本的说明文档中添加捐赠人姓名。

感谢以下捐赠者：
沈米钢
usestone
李大坤
vermin1986
黄慧明
杨波
陈飞
黄耕耘
陈飞
武云鹏
滕涵宇
王彦哲
王小虎

非安装版手工加载方法：

1. 将Batchplot.vlx复制到本地硬盘中任意你希望放置的位置。
2. 进入AutoCAD，输入命令Appload，加载Batchplot.vlx
3. 打命令Bplot或Batchplot即可使用。
4. 如需每次启动AutoCAD自动加载，可在Appload命令的对话框的启动组中添加Batchplot.vlx条目或者使用安装包。

批量打印程序 3.5.8
使用方法：直接在AutoCAD命令行上输入BPLOT或BatchPlot。或通过文件菜单：文件→批量打印调用。详细使用说明可通过点BPLOT对话框的帮助按钮显示。



 
更新历史：

    添加：为使图块图框支持AutoCAD 2006以上版本中的新的动态图块。重写所有选择图块的代码。3.5.8
    添加：在Batchplot.ini中添加一个设置，如果当前文件格式是DXF，点“确定”打印时是否保存设置到DXF中 3.5.8
    修正：在非世界坐标系下，为打印文件/批量切分文件自动命名时从图框中取图层上的文字或图块属性中的文字会出错 3.5.7
    添加：允许在Batchplot.ini指定是否自动旋转，是否自动居中、不居中时偏移值、是否反向 3.5.7
    修复：在INI文件中设置默认打印比例时，使用固定比例模式，不应采用“FixScale”字符串，应直接提供比例值 3.5.7
    修复：命名方式从其它切换成“覆盖重名”时，没有去除自动编号标记 3.5.7
    修复：命名方式从其它切换成“备份重名”时，错误地添加了自动增量编号标记 3.5.7
    修改安装程序，希望能自动支持以后的2013，2014... 3.5.6
    解决AutoCAD 2012下不能加载菜单的问题 3.5.6
    增加了对部分种类的pc3和打印机程序的PLT文件默认扩展名的的判断。比如PublishToWeb JPG.pc3设备自动设置扩展名为JPG等等 2010-07-21 3.5.5
    对话框中“生成PLT文件”改为“打印到文件”。2010-07-21 3.5.5
    解决错误: 已加载该 LISP 应用程序 BatchPlot 2010-06-29 3.5.4
    允许用户在Batchplot.ini文件中对“自动比例”是否取整，取整时保留的有效位数进行设定。2010-06-28 3.5.3
    修复卸载程序的一个List Out of Index错误。 2010-02-24 3.5.2
    紧急修复：加载程序出错导致Support路径全部丢失。 2010-02-24 3.5.2
    解决安装时中文支持路径问题。LoadBatchplot.lsp 2010-02-23 3.5.1
    允许图框选择多个图块名或多个图层名。允许用户自定义默认图块名，图层名。2010-01-31 3.5.0
    绕开在某些打印机驱动程序下plt文件名中有英文逗号不能处理的问题（自动替换成全角逗号）。2009-11-29 3.4.0
    在Batchplot.ini中添加默认路径和打印截记默认是否打开的支持 2009-11-03 3.3.9
    修正绿色形式加载时的一个错误 2009-06-11 3.3.8
    提供Batchplot.ini文件供用户自定义少量默认值 2009-05-11 3.3.7
    将默认比例改为适合纸张。2009-05-11 3.3.7
    将默认打印顺序改为“左右，上下”。2009-05-11 3.3.7
    因为AutoLISP中ssnamex的一些奇怪的返回值，所以对图块图框范围的判断方式作了一点修正。2009-01-01 3.3.6
    修改对话框文字中的“理正图框”为常用。因天正图框也支持。3.3.5
    根据Levis建议修正：文件或布局重名时的选项修改时，对文件名称样板作处理以保持一致。3.3.5
    修正：对于非零宽度的普通图层PLINE图框处理。2008年4月7日 3.3.4
    对于无法解析正则表达式的系统提供了一种默认文件名的处理方式，保证可以最低限度地正常使用。2008年1月31日 3.3.3
    修正：解决某些类型的特殊图框的边界判断处理问题。2008年1月30日 3.3.2
    修正：在图名中读取指定图块属性时因程序内部框选范围问题有可能选择到相邻紧贴的图框。2007年12月4日 3.3.1
    对于完全重合的图框，允许有1/500的图框宽度的误差。误差在这个范围内的图框认为完全重合。2007年12月2日 3.3.0
    允许用户指定PLOT文件的扩展名，解决生成图片、PDF时扩展名不正确的问题。2007年12月1日 3.3.0
    修正了文件名自动编号的部分问题。2007年12月1日 3.3.0
    解决分图后不保留Group之类的扩展数据问题。现提供两种分式分图。2007年12月1日 3.3.0
    解决程序与图像打印机不兼容的问题，现在可以利用它打印成PNG之类的图片了。2007年11月26日 3.2.3
    文件布局名称中新增一种仅在需要时才添加的自动编号顺延变量标记<ANum:分隔符:数字位数> 2007年11月25日 3.2.2
    对菜单结构调整，增加直接指向批量切图、批量布局之类命令的菜单条并添加相应的命令。2007年11月25日 3.2.2
    制作在线捐赠页面。从本版开始，本程序的开发接受用户自愿捐助。2007年11月17日 3.2.1
    在AutoCAD界面中添加菜单项，方便调用。2007年11月17日 3.2.1
    对最终生成的文件名的中字符合法型作分析，将不合适字符替换成允许的字符。2007年11月17日 3.2.1
    对自动命名的逻辑架构作了全新架构, 支持更多的用户自定义功能 2007年11月16日 3.2.0
    修正了一个重名处理的 Bug 2007年11月2日 3.1.1
    添加切分图纸为一张图一个dwg文件的功能 2007年10月30日 3.1.0
    统一了PLT文件、布局、dwg文件的命名模块，添加使用特定图层的文字作为命名的方式 2007年10月30日 3.1.0Beta
    修正了新的外框计算方法的一个坐标系转换错误 2007年8月14日 3.0.7
    改进了对图块形式的图框的外框计算方法 2007年8月13日 3.0.6
    自动去除重复的完全重合的图框 2007年7月13日 3.0.5
    自动去除完全相互嵌套的图框（大框套小框）的情况 2007年7月13日 3.0.5
    根据实际使用状况，使用特定图形的矩形PLINE作为图框时不再强行要求PLINE线全局宽度为0 2007年7月13日 3.0.5
    去除只在模型空间中批量打印的限制 2007年7月13日 3.0.5
    添加打印戳记选项与设置按钮 2006年6月1日 3.0.4
    保存设置(按应用或确定)时不保存打印份数的值以免误操作 2006年6月1日
    修正预览时按N时非正常退出的Bug 3.0.3
    修正一个选择PLINE图框的Bug（2006年2月10日）3.0.2
    添加“逐份打印”功能。（注意：逐份打印将耗用更多的计算机处理时间，2006年2月1日）
    添加“应用”按钮。用于在不打印的情况下保存批量打印的设置（2006年2月1日）
    添加命令DeleteBPlotData，用于清除保存在DWG图中的上次批量打印的数据（2006年2月1日）
    在理正图框模式下添加支持的图层名"*-图框标题", "*-图框"（2006年2月1日）3.0.1
    修正调试程序时的一个疏忽，把有用的代码注释掉了导致不能选取图块（7月22日）2.9.1
    支持除理正图框层外的其它图层上的图框（封闭矩形PLINE）6月29日
    支持反向打印（图纸旋转180度）6月29日
    理正图框支持“*_TITLE”6月29日
    添加支持“理正电气(ELE_TITLE)”图层的图框。(4月8日)
    修正“在布局空间中强制使用模型空间线型比例”选项不起作用的问题(程序中笔误)(4月8日)
    因DCS与UCS不一致而产生的Bug，Target系统变量（2005.2.24）
    在状态栏显示比例与进度信息(7月5日)
    BUGFIX: 图块列表(7月5日)
    提供打印多个Layout的功能（7月1日）
    打印不出图框边线问题（6月30日）
    在DWG文件中保存上次的批量打印设置（6月28日）
    增加打印顺序调整功能（6月25日）
    自动打印比例算法调整（6月25日）
    支持在UCS下的图块图框（6月25日）
    自动旋转设为可选。如选成不自动，可以在页面设置中调整方向（6月25日）
    支持在UCS下的理正图框（6月24日）
    2.2版。增加图纸偏移与居中选项（6月9日）
    增加了一个打印份数的选项。
    加入打印机驱动或打印机不存在时的出错处理。
    第二版全面改写，新增对话框。
    加入对理正图框的支持。
    第一版。 

