如何使用新色表替换层的ByLevel的颜色


【问题】

打算启用了一个新的色表代替旧色表,对于同一种RGB颜色,在旧色表中色号为1号,在新色表中为5号,如何将层的ByLevel颜色完成这种色号的映射?

【解决方法】

使用Batch Process工具可以批量更改每个层的颜色,过程大体如下:

1. 创建一个命令文件,例如 ChangeLevelColor.txt,文件内容如下:

level set bylevel color 2 "Leve Name 1";
level set bylevel color 2 "Leve Name 2";
level set bylevel color 2 "Leve Name 3";
...

上面每一行的Key-in命令都是将层的颜色改为色号2,"Leve Name 1"引号内的是层的名字,您有多少个层就创建多少行,然后修改一下色号和层的名字就行,色号需要根据新旧两个色表的映射关系来更改。

关于层的名字可以通过如下方法将DGN文件中的所有层名一次性都导入到一个 csv文件中:
通过 Level Manager窗口中的菜单 Levels> Export将所有的层名都导入到一个 .csv文件中,这样可以一次性得到文件中的所有层名,然后拷贝到txt文件中,再添加全Key-in命令就可以,不然一旦层名很多的话,手动一个一个输入层名的工作量比较大。

创建好这个命令文件ChangeLevelColor.txt,就可以按照如下步骤配合Batch Process工具,一次性批量修改DGN文件中的层的颜色:

通过File> Tools> Batch Process打开Batch Process 窗口:
1. 点击Command File行右侧的三个点,加载上面创建好的命令文件ChangeLevelColor.txt;
2. 点击上部的按钮 Add Files,添加要更改层颜色的DGN文件;
3. 点击上部的按钮 Process Batch Process Job,执行批处理命令:

通过上述批处理后,层的颜色就会被更改成新的色号。