工程设计中,无论是软件批量输出的DWG还是手工绘制的DWG文件,在修改过程中都可能存在页数增加或减少的问题。当页数较多时,页码与总页数的修改是个问题。
一般情况下,会用AutoCAD的Text或MText实体来进行页码与总页数的显示。对于总页数修改,可以通过查找/替换来进行,但为防止将文件中其他位置同样的数字被替换,为保险起见,也需要一个个查找/替换。对于页码修改,它是变化的,要么一个个手工编辑修改,要么借助小工具一个个修改或小批量修改。这些工作都是费时费力不讨好,稍有不注意,就会出错。那有没有办法可以批量修改页码和总页数呢?前两天就有个同事问了这个问题。结合之前研究的知识,可以较容易地解决该问题。
1、在标准图框文件里,对于总页码,在菜单“文件→文档属性→自定义”添加“总页数”;然后,在总页码的位置插入Text实体(或Attribute实体),编辑它并插入“字段”,引用“文档”属性里自定义的“总页数”。这样无论是标准图框作为块插入还是作为外部引用(Attribute实体不能用外部引用)插入到另一个图形文件中时,在该文件里同样自定义“总页数”并输入实际值,标准图框里的总页码在重新生成后总是显示当前文件“总页数”值。
2、对于页码,需要在标准图框文件里将页码定义为Attribute实体。作为块插入到另一个图形文件时,页码均会被修改为正确的值(没有修改也不要紧);当需要修改正确时,可以将用菜单“Express→Blocks→Export Attribute Information”导出所有标准图框块的属性。导出内容为文本文件,包括实体句柄、块名、属性1、属性2……,分隔符为制表符(可以直接复制到Excel,对应到单元格中修改);导出实体句柄为十六进制(List实体可以看到其句柄),一般不用管它,注意顺序为倒序(也就是后生成的实体在前面,第一个生成的实体在最后)。将文本文件用记事本等文本编辑器打开后,直接复制到Excel中,将页码修改正确,然后将内容复制、粘贴回文本文件,保存;最后用菜单“Express→Blocks→Import Attribute Information”导入该文件即大功告成。如果文件是原来的或由软件输出的,页码不是块属性,如果页码数量较多,或需要经常修改,可将原来的页码删除,将页码单独定义成属性,阵列恢复后,再进行前述属性导出修改再导入即可。
前述用到了属性定义,可能有的同仁还不是很熟悉,可以进一步学习、研究。实际上而言,属性定义在块中的应用是相当方便的。在JSL-路线专家系统中,百米桩、公里桩、要素桩都用的是属性定义。在软件推出初期,很多同仁不习惯,提出异议。实际上,在习惯了之后,属性定义比单纯的文本使用方便很多。
温馨提示:答案为网友推荐,仅供参考