开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈基于CAD开发矿产钻孔柱状图范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
[摘要]本文阐述了VBA二次开发语言的各种优势;分析了矿产钻孔柱状图开发的总体流程图;深入剖析了程序的各种模块;希望能起到抛砖引玉的作用。
[关键词]CAD VBA 钻孔柱状图 地质矿产
[中图分类号] P634.2 [文献码] B [文章编号] 1000-405X(2013)-11-259-2
钻孔柱状图的绘制在八十年代以前主要是靠手工绘制完成的,不仅需要大量的人力物力,而且成图慢、效率低,很难满足实际生产的需要。后来
随着计算机的逐渐普及,如何利用计算机进行钻孔柱状图的快速绘制引起了地学工作者的关注,出现了一些钻井柱状图绘制软件。本文基于cad平台,利用VBA语方开发了钻孔柱状图自动生成系统,实现了图与数据的统一[1]。。
1CAD与VBA开发语言
1.1CAD成图软件
CAD主要使用交互式图形显示软件、CAD应用软件和数据管理软件3类软件。交互式图形显示软件用于图形显示的开窗、剪辑、观看,图形的变换、修改,以及相应的人机交互。为此,需要建立工程数据库系统。它同一般的数据库系统相比有如下特点:数据类型更加多样,设计过程中实体关系复杂,库中数值和数据结构经常发生变动,设计者的操作主要是一种实时性的交互处理。
1.2VBA开发语言
1.2.1对象模型
VBA是一种语言,被引用的对象模型是创建基于VBA的程序的不可缺少的部分,对象模型指明了可以控制的应用程序和功能,这样就能利用VBA访问和改变对象模型的属性值、处理对象模型中的对象所触发的事件并调用对象的方法[2]。
1.2.2优越性
(1)每个VBA宿主应用程序通过一个对象模型开发它的功能,扩展基于ActiveX组件为开发者利用以创建成批的用户解决方案。
(2)开发者能更适应市场,因为他们能在许多应用程序中运用他们的技术。有助于开发者在各种应用程序中只使用一种语言,只需了解该应用程序的对象模型。
(3)复用代码的能力是一个优势,因为相同的VB能在任何地方使用[3]。
(4)VBA能够使得应用程序定制以提供满足用户需求的解决方案。
2总体流程图
3程序实现
3.1ACCESS报表模块
钻孔地质数据都要求以统一的标准(关系数据库)进行存储。应用程序如果不支持直接对这种标准的数据库进行读取,那么应用程序就没有了通用性,即用户直接对海量的钻井数据进行转换格式也是相当困难的,并且容易出错。所以,应用程序本身必须能够读取这种标准关系数据库中的数据。
模块程序的部份代码如下所示:
Private Sub AppendButton_Click()
Dim sFiles()As String
TreeSearch"c:\123","xls",a()
Dim strcopy As String
If pasteText.Text=""Then
Exit Sub
End If
3.2花纹库模块
地质岩性花纹复杂多样,如何实现岩性花纹的管理和自动填充是钻孔柱状图自动绘制的重要内容。模块程序的部份代码如下所示:
For i=0 To lstFile.ListCount-1
Call CheckTextHeight22(lstFile.List(i))
Next i
If i >=0 Then
MsgBox"程序处理了"& i &"个文件,谢谢你的使用!"
End If
3.3剖面信息模块
剖面图又称剖切图,是通过对有关的图形按照一定剖切方向所展示的内部构造图例,剖面图是假想用一个剖切平面将物体剖开,移去介于观察者和剖切平面之间的部分,对于剩余的部分向投影面所做的正投影图。
3.4图面整饰模块
(1)文字标注处理
绘制好柱状图框架以后,要在程序中创建一个“注释”字段,用来存储每个矩形所要显示的内容。
(2)岩性图例块的插入
不仅需要对钻孔柱状图进行文字标注,还需要对“柱状图”层进行岩性填充。
根据《地质矿产测量图例》的地层内容,对岩性图例进行分类,通过不同的方法实现,形成岩性图例库。可以直接调用岩性图例库按属性数据插入外部块,以实现钻孔各岩性的填充。
模块程序的部份代码如下所示:
If TypeOf t Is AcadText Or TypeOf t Is AcadMText Then
If (txt3="绘图员")Then Text333.Text = txt2 t.Delete
End If
If(txt3="检查员")Then
Text444.Text=txt2
t.Delete
4小结
本文详细分析了基于CAD开发矿产钻孔柱状图的具体实现,包括岩性花纹符号的管理和图案填充方法以及剖面图 的绘制算法。针对目前的钻孔柱状图生成方法生成的图件不能很好地反映编辑报告要求等问题,本程序从实际出发,结合生产,圆满的解决了该问题。
参考文献
[1]张生伟.钻孔信息管理和柱状图成图方法的改进研究[D].武汉:中国地质大学,2009.
[2]罗丹.基于VBA的参数化图库[J].常德师范学院学报(自然科学版),2001,(04).
[3]顾海花.VBA在word和Excel数据交互中的应用[J].南通职业大学学报,2003,(03).