AutoCAD的矿图符号库设计(2)
时间:2022-02-22 23:00 来源:毕业论文 作者:毕业论文 点击:次
1。1。2 主要研究内容和技术路线 本文中主要使用VBA 进行编程,实现对矿图符号的设计与开发。VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,许多仅用ACAD命令无法完成的任务,就需要VBA来实现。 矿图符号库的制作基本分为两个大的方面,一部分是独立地物符号的制作,如井下水准基点、背斜、见煤钻孔等;另一部分则是矿图制图中常用的线型、线宽以及设备设施,如采回边界、石门、水闸门等。 为形成完整的数据库,建立宏并应用于菜单栏或工具条中,以便选取符号进行使用。参考了常用矿图符号表,对上述两大部分不同点状、线状及面状地物符号使用编程的方式达到自动绘制。 2 模型空间(modelspace)及图块(block) 在设计符号之前,首先要了解模型空间及图块的定义,集合对象是预先定义的对象,模型空间集合和图块对象就是集合对象,包含所有相似对象的实例。模型空间集合是所有存在于模型空间中图形对象(图元);图块对象则是存在于所定义的图块中的所有图元。当CAD的自带图形无法满足对符号设计的需求时,就可在模型空间中自主绘制想要的图元,然后将其定义为一个图块,将零散的点,线,面合成一个整体,从而达到设计的目的。 以水准基点(图2-1)为例创建一个块,并向块中添加圆和直线: 图2-1 水准基点 水准基点代码如下: '绘制水准基点 Sub point2() '获取点 Dim p1 As Variant p1 = ThisDrawing。Utility。GetPoint(, vbCrLf & "点:") '创建一个块 Dim block2 As AcadBlock Dim p2(0 To 2) As Double p2(0) = 0论文网 p2(1) = 0 p2(2) = 0 Set block2 = ThisDrawing。Blocks。Add(p2, "cb2") '在块中添加圆 Dim tx1 As AcadCircle Dim xy(0 To 2) As Double Dim r As Double xy(0) = 1: xy(1) = 1: xy(2) = 0 r = 0。75 Set tx1 = block2。AddCircle(xy, r) '在块中添加直线 Dim tx2 As AcadLine Dim sp(0 To 2) As Double sp(0) = 0。25: sp(1) = 1: sp(2) = 0 Dim ep(0 To 2) As Double ep(0) = 1。75: ep(1) = 1: ep(2) = 0 Set tx2 = block2。AddLine(sp, ep) '在块中添加直线 Dim tx3 As AcadLine Dim sp1(0 To 2) As Double sp1(0) = 1: sp1(1) = 1。75: sp1(2) = 0 Dim ep1(0 To 2) As Double ep1(0) = 1: ep1(1) = 0。25: ep1(2) = 0 Set tx3 = block2。AddLine(sp1, ep1) '插入块 Dim blockref2 As AcadBlockReference p2(0) = p1(0) p2(1) = p1(1) p2(2) = p1(2) Set blockref2 = ThisDrawing。ModelSpace。InsertBlock(p2, "cb2", 1#, 1#, 1#, 0) '更改块图层为矿区 blockref2。Layer = "矿区" blockref2。Update End Sub 3 矿图符号设计 3。1 独立地物符号设计 矿图中有许多特有的独立地物符号,不同的地物符号要有一定的区分度,根据符号的不同含义,设计原则也有所不同。独立地物基本上可分为点状、线状及面状三大类,包含控制点、钻孔及巷道等。 (责任编辑:qin) |