2)符号的大小为图纸坐标,即图纸上符号多大,CAD 中就绘多大3)符号的定位点为坐标原点4)符号块中清除其它的块、线型、图层等冗余定义,否则会导致地形图中存在垃圾数据5)符号块的颜色可根据符号需要设置,通常为 AcByBlock3 形文件及 CAD 线型的制作地形图中的线划并不总是实线,而有很多样式,虚线、点线、齿线等等,需要将这些线型提前进行定义CAD 的线型文件为文本格式,后缀 lin,可以用记事本打开进行编辑通常一个线型定义为两行,第一行以*号开头,紧跟线型名字,名字之后为线型说明性文字第二行以字母 A 开头,后面紧跟绘制法则如下所示:*X24,长虚线A,6,-1.2,1.6,-1.2在绘制法则中,正数表示落笔,负数表示提笔,0 表示绘一个点,数字的大小表示绘制的长度如示例则是先落笔绘制 6 毫米实线,然后提笔绘制 1.2 毫米空白,再落笔绘制 1.6 毫米实线,再提笔绘制 1.2 毫米空白,这一过程循环,直至整条线绘制完成绘出来线型如下:对于特殊线型,如齿线则需要借助“形”来完成形为 CAD 快速显示的微小图形元素,可以通过 CAD 制作形以及形文件在 CAD 中绘制出形,键入mkshape 命令,指定形源文件的路径、名称以及形源文件的插入点、像素,选择好形图元即可制作出形源文件,文件后缀为 shp。
还需要对形源文件进行编译,形成最终的形文件,键入 compile 命令,选择形源文件即可,编译成功的形文件后缀为 shx使用“形”的线型与普通线型一样,只是在绘制法则中插入了形图元,示例如下:*zl090,一般堤A,1,[KDC,xzw.shx,s=2,y=-0.5],1其[ ]中的部分为形的引用,KDC 表示形图元的名称,xzw.shx 表示形文件的名称,s 表示形的缩放系数,y 表示形图元的 Y 方向偏移系数,还可以加入x 表示 X 方向的偏移系数,r 表示形图元的旋转系数1 表示下笔绘制实线,本例中 KDC 为一条竖线线型绘制效果如下:三、CASS 成图系统的组成1 绘图程序介绍CASS 通过对 《1:1000 地形图图式》的研究,按照各种地形图符号的表现形式,归纳总结出了近二十种绘制方法,然后将这些绘制方法形成绘制代码(函数) 如下面的一些绘制代码,说明了详细的绘制行为,具体列表见 CASS帮助文件附录 A:1—不旋转的点状地物,如路灯,第一参数是图块名,第二参数不用;2—旋转的点状地物,先定点,然后指定旋转角度如依比例门墩,第一参数是图块名,第二参数不用;5—不拟合复合线,如栅栏,第一参数是线型名,第二参数是线宽;8—中间有文字或符号的不拟合复合线,如建筑房屋,第一参数是圆的线型名,第二参数是文字或代表符号的图块名;2 了解 CASS 的编码CASS 绘制出的每一种图元,都有一个独一无二的属性编码,该编码按照国标《地理信息系统要素编码表》编排,标识了图元所表示的地物。
具体编码列表参考 CASS 帮助文件附录 A示例如下表:地物名称 编码 图层三角点 131100 KZD土堆上的三角点 131200 KZD小三角点 131300 KZD……对于自己扩展开发的地图符号,我们可以参照已有的国标编码的编码规则,自定义一个编码四、三个关键文件的修改1 菜单文件的修改(acad.mns)在制作完成新符号的幻灯片,确定新符号的编码后需要修改 CASS 的菜单文件(acad.mns ) ,使新符号在屏幕菜单中显示出来菜单文件以分区的形式,包含整个 CASS 的固定菜单、弹出菜单、工具条、定点设备、屏幕菜单等,需要编辑的屏幕菜单以位于***IMAGE 区菜单格式如下:***IMAGE**MZQUYU[面状区域][cass51(jdbsc,界街道办事处)]^C^C^Pdd;340010;^P[cass51(community,社区)]^C^C^Pdd;340020;^P[cass51(basicgrid,单元网格 )]^C^C^Pdd;340000;^P**GONGYONG01[公用设施]……如上面例子所示,***IMAGE 为一级菜单,表示屏幕菜单从这里开始;****MZQUYU 为二级菜单,其后紧接的[面状区域]为二级菜单名称;再其后为具体的菜单单元,[cass51(basicgrid, 单元网格)]^C^C^Pdd;340000;^P 中,cass51表示形文件的名称,basicgrid 表示幻灯片的名称, “单元网格”是这一菜单项的说明性文字。
^C^C^Pdd;340000;^P 是一串 CAD 命令,^C^C 相当于 ESC 按键,^P 相当于 Enter 按键,dd 是 CASS 绘制命令,340000 是所绘制符号的编码,最后的^P 依然是回车;在后面的**GONGYONG01 为第二个二级菜单屏幕菜单示例如下:当在相应的菜单项上双击,即可根据编码调用相应的绘图函数来完成图形的绘制编辑菜单文件,将新符号按照上面的格式添加进去,即可有自定义符号的屏幕菜单2 工作文件的修改(work.def)在屏幕菜单上双击,CASS 会根据符号的编码,读取工作文件(work.def) ,得到绘制函数和绘制参数,完成图形的绘制工作工作文件为一个符号一条记录,其格式为:CASS 编码,符号所在图层,绘制函数,第一参数,第二参数,符号说明具体示例段落如下:143902,JMD,1,gc170,0,不依比例支柱.墩(圆形)143901,JMD,2,gc002,0,不依比例支柱.墩(方形)340010,COMMUNITY,5,915a,0.2,街道办事处340020,COMMUNITY,5,916,0.2,社区340000,BASICGRID,5,continuous,0,单元网格在示例中,143902 表示所绘制符号的编码;JMD 表示所绘制符号的图层;1 表示绘制函数,具体是绘一个不旋转的符号块;gc170 表示所绘符号块的名称,程序将根据这个名称在已经做好的符号块中搜索;0 为第二参数,在该绘制函数下不使用;“不依比例支柱.墩(圆形)”为所绘制符号的地物名称。
再如下,当绘制函数为 5 表示绘不拟合折线,第一参数表示线型名,第二参数表示线宽度根据需要将新图元的相关信息,按照上面的格式,加入工作文件即可3 索引文件的修改(index.ini)地图符号有些是单独的,有些是由其它图元组合而成的,索引文件则是组成地图符号的最小图元的说明譬如房屋,由房屋边线以及其中的结构、楼层注记组成,在索引文件中定义如下:141121,continuous,0.000,砖房屋,211027,RESRGN141121-1,text,0.000,砖房屋结构注记 ,200009,RESANN141121-2,text,0.000,砖房屋楼层注记 ,200009,RESANN如上所示:141121 为房屋边线编码;continuous 为房屋边线线型;0.000 为线宽度;“砖房屋”为这一编码的说明性文字;211027 为用户编码,用户可以根据需要加入自己想要的编码;RESRGN 为扩展属性表,即该实体还需要加入哪些属性按照上述格式,添加新符号的索引文件行,当在 CASS 中查询图元属性时,显示的即是该编码和说明性文字五、其 它文件介 绍在开发 扩展符号库的 过程中,可能 会需要修改下 面一些文件:Pat 文件:这是 CAD 的填充定义文件,定义了填充的样式,具体语法可以参考 CAD 帮助。
Dwt 文件:这是 CAD 的模板文件,可以在其中定义字体、图层、以及加入线型AttriBute.def 文件:是扩展属性定义文件,可为图元指定扩展属性项ScreenMenu.def 文件:为屏幕菜单的定义文件,定义了屏幕菜单的大项和子项六、结束语总的来说,CASS 符号库的扩展开发是这样两个大的步骤,首先准备好一些。