张君伍
摘要:本文为将CorelDraw和节理玫瑰花图绘图相结合实现自动绘图,在CorelDraw VBA中实现了节理数据的自动读取、分组统计、绘制节理玫瑰花图、群组、平移等功能,并编成节理走向、节理倾向、节理倾角、倾向倾角等四个玫瑰花图绘图函数,建立了窗口界面。该绘图插件提高了绘制节理玫瑰花图的效率。
关键词:构造地质学;CorelDraw;VBA;节理玫瑰花图;自动绘图
中图分类号:TP3 文献标识码:A
文章编号:1009-3044(2020)14-0267-02
节理玫瑰花图是构造地质学中整理、统计节理数据的图形,能够突出节理数据的优选方位。Coreldraw是一款矢量绘图软件,在设计、编辑等中应用很广。本文利用CoreldrawVBA编制了节理玫瑰花图绘图插件,可以完成节理走向玫瑰花图、节理倾向玫瑰花图、节理倾角玫瑰花图、节理倾向倾角玫瑰花图等的绘制,具有窗口界面、绘图快速、节约时间、图形简洁等特点,在构造地质学的生产、科研、教学中简洁易用。
1节理玫瑰花图插件的使用方法
节理玫瑰花图插件开发首先通过Coreldraw菜单中选择“工具”>“宏”>“宏管理工具”,调出“宏管理工具”泊坞窗(或按Mt+F11組合键打开),然后加载“构造节理玫瑰花图.gms”,双击内部的宏运行插件。
节理玫瑰花图窗口中提供了数据文件选择按钮,选择数据存储的文本文件(*.txt);节理玫瑰花图绘图类型选择,每次只能选择一种节理玫瑰花图进行绘制;每一种玫瑰花图绘制前有默认的图层名(可修改);成图比例系数默认值为2(可修改,但系数须大于0,系数与图大小成反比);参数设置好后点击“开始绘图”可绘制玫瑰花图;点击“关闭窗口”可以关闭窗体(图1)。
2节理玫瑰花图实现过程
2.1读取并统计数据
节理玫瑰花图插件的数据输入文件为文本文件(*.txt),数据分为三列,第一行数据为“编号横坐标纵坐标”,横纵坐标单位为cm,坐标为玫瑰花图中心点坐标,从第二行开始向下均为节理数据“编号倾向倾角”(图2)。采用CorelScriptTools.Get-FileBox选取文件并利用循环Do While Loop和input读取数据。根据玫瑰花图类型进行数据统计,节理按照一定的间隔分组,倾向转化为走向,分组统计平均值和数目。
2.2绘制玫瑰花图
玫瑰花绘制原理为简单的几何和三角函数,玫绘制过程分为绘制底图、绘制玫瑰花、标注文字、群组与平移等部分。
1)绘制底图:底图中节理走向玫瑰花图为半圆,其余三个玫瑰花图为整圆(下面的示例是绘制整圆)。内部小圆(半圆)为虚线圆(半圆),最外圈大圆(半圆)为实线圆(半圆)。采用循环调用CreateEllipse2绘制底图圆,利用对象的Outline.SetProp-erties和Fill.ApplyNoFill属性设置底图圆细节如不填充颜色、内部辅助圆为虚线、外圈圆为实线等。
2)绘制玫瑰花:四种玫瑰花图的花绘制方法相同,根据统计的每组节理平均角度(平均倾向、平均走向、平均倾角)数据绘制成图。主要代码如下:
3成图效果
利用某处的构造节理数据(表1)在CorelDraw中利用绘图插件绘图后效果见下图(图3)。
4结语
基于Coreldraw VBA开发的Coreldraw节理玫瑰花图绘图插件的优势有:可以作为构造地质学教学绘图插件;后期可以拓展开发批量成图功能以满足大批量成图的要求;可以为开发CorelDraw VBA环境下其他的构造地质学插件提供参考;提高了绘制节理玫瑰花图的效率;不足之处为未实现批量绘制节理玫瑰花图,图面的细节控制需要继续完善。
[通联编辑:梁书]