Excel与CAD结合在地质制图工作中的应用

2011-12-21 10:46薛卫冲
地质学刊 2011年3期
关键词:图层制图示意图

薛卫冲

(1.南京大学地球科学与工程学院,江苏 南京 210093;2.江苏省有色金属华东地质勘查局,江苏南京210007)

Excel与CAD结合在地质制图工作中的应用

薛卫冲1,2

(1.南京大学地球科学与工程学院,江苏 南京 210093;2.江苏省有色金属华东地质勘查局,江苏南京210007)

采用CAD软件绘制地质图件时,常遇到不断重复简单的绘制命令,从而使得制图工作沉闷、低效、多错。介绍了利用Excel的编制函数功能与CAD命令窗口相结合的原理、方法及常用手段,通过实例来说明如何实现地质制图过程的快速、准确与高效。

Excel;CAD;地质;制图

0 引言

CAD与Excel的信息互相导入,在工作中起到意想不到的效果。可以开发AutoCAD信息自动导入Excel程序并在工程中得到应用(刘百来等,2010);CAD具有强大的制图功能,但涉及到用命令来制作表格及线就相当繁琐,如果能将Excel的制表功能应用到CAD中,将大大提高制作效率及效果(李峰博等,2010)。

较多同行已经对CAD、Excel等软件结合运用作了探索,并运用到地质制图领域中,包括水文工作(范长玉等,2010)、钻孔柱状图绘制(马江平等,2005)等。

Excel辅助CAD,可利用数据共享制作勘查图件,可实现真正意义上的计算机辅助设计(孙淑贤等,2007)。

1 基本思路

Excel与CAD结合能够为工作提供便利,减少重复劳动,提高准确率。其原理是让Excel编制函数,并将函数的计算结果显示成能让CAD识别且可执行的命令。由于Excel具有复制公式的功能,因此可以用Excel来做那些重复又简单的工作。

2 Excel编程与CAD命令的几种常见“联姻”方式

2.1 平面坐标批量输入

在CAD中输入坐标的命令是用逗号分隔的2个数值实现的,用Excel的Concatenate命令就很容易实现这一链接。

用GPS记录测区内公路的1 883个坐标点的航迹,需先将公路绘制到地质平面图上。如表1所示,将输入多段线命令(pl)、坐标值(X、Y)采用“concatenate()”命令编制函数(D列)。

编制的Excel函数。

IF(ISTEXT(A1),CONCATENATE("pl",C2,",",B2),IF(A3="",CONCATENATE(C2,",",B2,""),CONCATENATE(C2,",",B2))),该函数返回的值为:pl 428255,2807249……。这个值CAD能识别并可执行。

将D列复制并粘贴到CAD命令行中就可绘制GPS航迹了。

执行过程解释:输入命令pl—空格(相当于回车)—输入坐标(428255,3807249)—输入下一坐标(428245,2807269)……。

“IF”函数的作用是让第一个点号输入并执行“pl”命令和输完最后一个坐标后,CAD以空格键形式结束绘制多段线命令。这是一个一步到位的命令,如果简化一些,在D列编制公式:“concatenate(C2,",",B2)”即可,复制 D 列,在 CAD 命令行中输入“pl”命令,然后粘贴D列函数(画航迹函数),最后空格键结束即可。

1 883个坐标点的多段线,在弹指一挥间绘成,无需检查,效率可见一斑。

图1 GPS航迹绘制函数编制示意图

2.2 文本值输入

平面图上钻孔孔号、地质点号,剖面图上的地质点号、采样样号等,通常的方法是根据坐标复制,然后再逐个修改,同样具有重复、低效、易出错的缺陷。

采用“-t”命令,结合其坐标,可以将所需要的文字输入到恰当的位置。

图2是实测剖面地质点的坐标,现将点标记、点号作到平面图上,编制Excel函数:CONCATENATE(CHAR(10)," - t",C2 - 12,",",B2+1,"H 3 J BL r 62 W 0",A2,CHAR(10),CHAR(10)),该函数返回的值是:-t 329941,4686918 H 3 J BL r 62 W 0 PA53……。

图2 平面图上文本标注函数编制示意图

将F列复制并粘贴到CAD命令行中,即可完成点号绘制。

执行过程解释:输入多行文本命令“-t”—输入CAD要求的文本位置坐标(329941,4686918)(在点号的左上方)—输入文本字高3—对正方式BL(左下)—旋转角度62°—字宽0—输入文本内容PA53(引用单元格A3)—回车(CHAR(10))以便确认输入的文本PA53(确认文本输入须用回车键(CHAR(10)来应答,不可用空格键应答)—回车(CHAR(10))结束命令。

由于结束命令的那个回车(CHAR(10)),在Excel单元格中隐藏了制表符"",当将其粘贴到CAD命令行中,就会显现出来,其前半个“"”将所需要“-t 329941,4686918 H 3 J BL r 62 W 0 PA53”命令变成了“"-t 329941,4686918 H 3 J BL r 62 W 0 PA53”命令,这是CAD无法识别的命令。为此,在“-t”命令前增加CHAR(10)命令,其效果是对前半个“"”加了1个回车,变成一个CAD的未知命令,以便CAD能继续执行其后续的“-t”命令。而后半个“"”与换行符(相当于回车)结合亦构成一个CAD未知命令,CAD继续执行其下一行的命令。

2.3 相对坐标输入

在作直线时,CAD可执行“@3<60”的命令,即在已知点上作一长为3、角度为60°的直线。这一命令与用户坐标系结合,在制图时相当有用。

图3是某一钻孔部分采样数据,要将其采样位置画到剖面图上,可编制Excel函数:CONCATENATE("l",B3,",",0,"@1 <90"),该函数返回的值为:L 0,0@1<90……。将E列复制并粘贴到CAD命令行中即可绘制样轨(还需要将钻孔线偏移1个单位)。

图3 绘制采样位置函数编制示意图

执行过程解释:输入画线命令“L”—空格—输入起点坐标(0,0)—输入线长为1、角度90°的直线—空格—执行下一行命令……。

该函数须与用户坐标结合,在复制E列函数到CAD命令行之前,先建立用户自定义坐标系:以钻孔弯曲度测量区间上端点为坐标原点,以钻孔轨迹为X轴,方向向下。然后粘贴上述函数到CAD命令行让其执行即可。

2.4 图案填充

笔者画钻孔、坑道采样位置时,常需要画样轨并间隔充填黑色,“-bhatch”是CAD以命令行形式执行填充命令。

图4 样轨填充函数编制示意图

编制如下函数。

IF(ISTEXT(B2),CONCATENATE(" -bhatch p s",(B3+C3)/2,",",0.5,"",""),IF(MOD(ROW(),2)=0,"",CONCATENATE("",(B3+C3)/2,",",0.5,"","")))。

该函数返回CAD能识别的值为:-bhatch p s 0.815,0.5……。执行过程解释:根据“- bhatch”执行特点,需要输入的参数为特性p,填充类型s(solid),输入拾取点坐标,确认填充范围,执行填充,重复“-bhatch”,输入拾取点坐标……。由于填充是相间进行的,所以需要增加IF(MOD(ROW(),2)=0,"",……的判别函数,以便相间填充。

3 实例

当掌握了上述的基本技能后,可以举一反三,触类旁通,应用到诸多的地质图件制作过程中。

以制作实测地质剖面图为例。从绘制地形线、地质界线、测点点号标注、岩性花纹填充等几方面,分别说明Excel与CAD结合,在曲线绘制(平面坐标批量输入)、相对坐标输入、文本输入以及图案填充的应用。

在戈壁滩地区,由于接收卫星信号好,地质剖面测量可采用手持式GPS进行定位实测地质剖面数据。

对表1中数据进行计算处理,算出导线总方位角(213.5°)、接触面视倾角、岩层视倾角、各段导线在剖面方向投影长度。

3.1 作剖面地形线

参见图5。

Excel函数:IF(ISTEXT(K1),CONCATENATE("pl",K2,",",L2),IF(K3="",CONCATENATE(K2,",",L2,""),CONCATENATE(K2,",",L2)))。

表1 实测地质剖面原始数据

图5 剖面地形线绘制函数编制示意图

将地形线图层置为当前图层,并将图5中M列(作剖面地形线列)粘贴到CAD命令行,即可绘制出剖面地形线。

3.2 地质界线绘制

参见图6。

图6 地质界线绘制函数编制示意图

Excel函数。

IF(G2="",CHAR(10),IF(F1 < >F2,CONCATENATE("l",K2,",",L2,"@25 <",IF(ABS(G2 -213.38) <90,H2*( -1),H2+180),"")))。

将地质界线图层置为当前图层,并将图6中N列(作分层线)粘贴到CAD命令行中即可。

3.3 测点号标注

参见图7。Excel函数。

CONCATENATE(CHAR(10),"l",K2,",",L2+10,"@20 <90",""," -t",K2,",",L2+35,"h 3 j bl w 0","No.",A2,CHAR(10),CHAR(10))。

将地质点号图层置为当前图层,并将图7中O列(测点点号标注)粘贴到CAD命令行中即可。

3.4 岩性花纹填充

参见图8。

图7 地质点编号标注函数编制示意图

图8 岩性花纹填充函数编制示意图

Excel函数。

IF(ISTEXT(D2),CONCATENATE(" -bhatch p",D2,"",E2,"",IF(I2="",0,IF(ABS(I2 -213.48) <90,- J2,J2+180)),"",(K2+K3)/2,",",(L2+L3)/2 -5,""),"")。

所需岩性花纹文件(后辍名为“.pat”)应在填充前复制至CAD安装目录下的Suport文件夹内,并将对应的岩性花纹代号填入图8的D列中。图案的比例尺、岩层视倾角等参数也应预先填入相应栏目内。同时,需要将地形线往下偏移(偏移值视剖面比例尺而定),并将上下地形线端点连接,以便以“拾取点”的方式填充。

将岩性花纹图层置为当前图层,将所要填充的范围置于可见视域内,并将图8中P(岩性花纹填充)列粘贴到CAD命令行中即可。填充完成后,将先前偏移的地形线及两端的连接线删除,最终成图如图9。

4 结语

虽然Excel是最常用的工具,且有强大的编制函数与计算功能,CAD也是世界上最成熟的功能强大的制图软件,但大部分同行还不能熟练地将两者结合起来,在日常制图中花费了较多的时间与精力。笔者介绍了最常见的图件制作技巧,希望能起到抛砖引玉的作用,并得到同行的发扬光大。

图9 局部实测地质剖面图(未修饰)

范长玉,徐菲.2010.利用Excel在AutoCAD中绘制横断面的实践应用[J].吉林水利,(5):57-72.

李峰博,张朝晖.2010.Excel软件在AutoCAD绘图中的辅助应用[J].杨凌职业技术学院学报,9(4):62-64.

刘百来,涂圣武.2010.工程中AutoCAD信息自动导入Excel的程序开发与应用[J].科技创新导报,(28):17.

马江平,王志宏.2005.基于AutoCAD的预想钻孔生成及其柱状图绘制[J].露天采矿技术,(6):17-20.

孙淑贤,李光明,张贵丽.2007.AutoCAD制作勘查线剖面图中的数据共享及图形格式交换[J].山东国土资源,(9):18 -20.

Application of combination of Excel and CAD in geological cartography

XUE Wei-chong1,2

(1.School of Earth Sciences and Engineering,Nanjing University,Nanjing 210093,China;2.East China Geological Exploration Bureau of Nonferrous Metals,Jiangsu Province,Nanjing 210007,China)

When CAD software was applied in plotting geological charts,simple repeated plotting commands were often confronted with which made a lower working efficiency and inaccuracy.The author introduced programming by Excel and how to draw formula curves and curved faces accurately in geology by utilizing CAD and Excel soft wares,which helped to improve the working efficiency.

Excel;CAD;Geology;Chart plotting

P283.7

A

1674-3636(2011)03-0275-05

10.3969/j.issn.1674-3636.2011.03.275

2011-06-02;编辑:陆李萍

薛卫冲(1964—),男,高级工程师,长期从事地质勘查工作,E-mail:xue805@126.com

猜你喜欢
图层制图示意图
无声手枪如何消音?
先画示意图再解答问题
黔西南州旅游示意图
小明巡山记
巧用混合图层 制作抽象动感森林
二向反射模型在土地覆被制图中的应用
图层法在地理区域图读图中的应用
两张图读懂“青年之声”
跟我学添加真实的光照效果
工程制图课程教学改革探析