一般的DGN文件都会在其数据字典区保存一个叫做Color Table(色表)的元素,该表中保存了颜色的索引值与真实的RGB色的对应关系。如下图所示是通过代码列出的某个DGN的数据字典区所包含的一些控制元素。
下面分三种情况讨论DGN中到底会用到什么色表:
1、如果DGN中含有一个色表,则无论当前是否定义有MS_DEFCTBL都不影响DGN中的色表的内容;
2、如果DGN中不含有色表,当MS_DEFCTBL定义了一个色表时,则这个DGN的色表就是该配置变量指向的色表;
3、如果DGN中不含有色表,当MS_DEFCTBL未被定义时,则这个DGN的色表就是系统默认的Color.tbl(即使实际上存在这个文件,内部代码也会创建一个默认的Color Table)。
我们还可以通过键入命令CT=$来查看当前DGN中是否含有色表。如果在状态栏看到Current CT = NONE则表示当前DGN中不含有色表,否则,则表示含有一个色表。
对于含有色表的DGN,可通过键入命令CT=空格来将色表删除。
对于不含有色表的DGN,可通过选菜单Settings > Color Table打开色表对话框,选File > Open找到一个色表文件打开,点击下面的Attach按钮连接就为当前DGN设置了色表。【注意】:这些操作都要通过选主菜单File > Save Settings保存后下次进入该文件时才能起作用。
下面通过一个练习来加深以上内容:
1、随意打开一个DGN文件,键入CT=$查看其是否含有色表;
2、如果含有色表,则键入CT=空格并回车实现删除色表的功能;
3、选菜单Workspace > Configuration打开配置变量对话框,找到MS_DEFCTBL配置变量,将其设置为在menucolr.tbl,如下图所示:
4、选主菜单File > Save Settings保存设置;
5、退出MicroStation并重新启动,打开1中的这个DGN文件;
6、选主菜单Settings > Color Table查看色表是否已经是menucolr.tbl所定义的内容;
7、修改配置变量MS_DEFCTBL为256_neg.tbl,执行4~6三个步骤看当前色表是否变为256_neg.tbl所定义的内容。