绘图过程中经常会遇到图纸目录,图纸清册等需要编号的地方。CAD作为绘图软件,对编号的支持本身不是很好。
通常情况下会用到插件来进行编号,包括常用的贱人工具箱。
![17985ae25112aa5b55cd9804e06bc022.png](https://i-blog.csdnimg.cn/blog_migrate/06110dadf0313b6ab0bcb12f57c21bec.jpeg)
但贱人工具箱编号本身具有一定的局限性,即必须末尾是数字或者英文字母。
在此提供几种其他的编号思路
在CAD自带的EXPRESS插件中,实际带有自动编号的命令,而且使用自由度比一般的插件要广得多。
同时可以利用前期文章中说到的ATTIN和ATTOUT导出到EXCEL进行更高级的批量编号方式。
使用前提。
1、CAD安装时附带安装EXPRESS拓展
2、电脑安装EXCEL
方法1:使用命令TCOUNT
![8534db214d7e742840ed04a396d723ca.png](https://i-blog.csdnimg.cn/blog_migrate/6a8abc890f467c830d34d434cf3aed6c.png)
![e3ff64229afefaf49ab320d52e9cfa4c.png](https://i-blog.csdnimg.cn/blog_migrate/84f533c2be621a1b5e2abff8c80bd3ab.png)
选择编号顺序为
X轴从小到大,
Y轴从小到大,
根据选择顺序从小到大。
我在这里选择Y
![9970e726b2e61f8f45993cea276055e1.png](https://i-blog.csdnimg.cn/blog_migrate/e29a30e762857e21deb7c088a9ccfe7a.png)
设置起始值和步长。
默认起始为1,步长为1.
![5efb4805476dd14fe0fd7fa12e95b413.png](https://i-blog.csdnimg.cn/blog_migrate/2f73ce6446d0060b6edf514dcb010980.png)
将编号放置在哪里
- 覆盖原有文本
- 放在原有文本前缀
- 放在原有文本后缀
- 在文本中查找和替换
四种结果我都演示一下
1、覆盖原有文本
![1e6841def3497a9033d4d9eede181cbf.png](https://i-blog.csdnimg.cn/blog_migrate/39ddfd732dd73cb52eed8cb6c0fb4db8.png)
2、放在原有文本前缀
![14c0984dff04169e91af8e3f0dd274e6.png](https://i-blog.csdnimg.cn/blog_migrate/ebba447aa9ebe9bfee90ae32bb03c67c.png)
3、放在原有文本后缀
![5ef1d7314d52e3f66175bc8bff5961a2.png](https://i-blog.csdnimg.cn/blog_migrate/43bd638231e126a357c58a7cfc55725e.png)
4、查找替换字符”N”
![12b3590167b04c4c6c400d04e4c4f75f.png](https://i-blog.csdnimg.cn/blog_migrate/143e764ce7d3d13b1808c6d5dde03bfc.png)
此种方法可以适用简单的项目编号。面对较为复杂的编号,例如热控编号就有些捉襟见肘。
方法2:导出到EXCEL编号。
导入导出过程参见前篇文章《CAD批量录入参数信息及自动生成清册》
本节基本为EXCEL内容。列举一些常见的EXCEL编号公式。
1、111222333编号
![ca8a0697905558f06f76f4631d67114f.png](https://i-blog.csdnimg.cn/blog_migrate/3ccff507ed7fa83ff0b526a34f5979bb.png)
公式
=INT((ROW(1:1)-1)/$A$1)+1
A1单元格数字为循环次数。
INT为向下取整函数,例:3.9取整为3
2、0~N循环编号
![f9efd8e0bb1063a4212dc4eda01baa44.png](https://i-blog.csdnimg.cn/blog_migrate/cbc83662f6ff26e1c1fdea98ed10d333.png)
公式
=INT(MOD(ROW(1:1)-1,$A$1))
MOD为求余函数。如果要1开头自己在后面+1
3、A~N编号
![f65bb3a0a53930feecdf2475ace541ef.png](https://i-blog.csdnimg.cn/blog_migrate/8b610de9eb382333b7aa409c5204d35b.png)
公式
=CHAR(65+INT(MOD(ROW(1:1)-1,$A$1)))
CHAR为字符公式,65开始是大写字母A
97开始是小写字母a
查询字符公式为
=code(“A”)
注意英文双引号。
- 指定格式01 02 03编号
![262a5b0d6581dea43249de301a9b2f35.png](https://i-blog.csdnimg.cn/blog_migrate/5775ef8329063ada8461da48216fdae6.png)
=TEXT(INT((ROW(1:1)-1)/$A$1)+1,"00")
TEXT,文本函数,“00”为指定格式,可以自己替换成想要的编号类型。具体使用方法百度EXCEL TEXT函数。
5、1234顺序编号
![fd3657580c1aa7887a17bcd41ebc172b.png](https://i-blog.csdnimg.cn/blog_migrate/879213db233f621aad96b5169e830f96.png)
公式
=ROW(1:1)
ROW为取行值函数。
- 指定起始值和步长编号
![e1227c68cdc0c023439b5613af950231.png](https://i-blog.csdnimg.cn/blog_migrate/606bc6f6876197f108ff6bd3e92fda2f.png)
公式
=$B$1+$B$2*ROW(1:1)
其中B1为起始值,B2为步长,$为绝对引用不可省略。
- EXCEL文本合成
2016及以下版本用连接符&
![7a3fcbac1c75dec037133eaa047997cd.png](https://i-blog.csdnimg.cn/blog_migrate/a0b83bf36d871db1db914c8b08d5a93e.png)
2016以上的版本有
=concatenate(),举例
![2fb4df1cff2f3fac36ad8b82ca1bbc3e.png](https://i-blog.csdnimg.cn/blog_migrate/75955ad6d7866732f3064383308f82c3.png)
最后EXCEL也要尽可能用新版本,有些新公式新功能旧版没有。
另外,如果做成了属性块,属性块的第一个属性可以采用贱人工具箱的属性编号。
![077d0115aafcec29844003568706e4fb.png](https://i-blog.csdnimg.cn/blog_migrate/c3ed2db5e7b6118b638be063cdcf692a.jpeg)