基于AutoCAD VBA的滚筒参数化绘图系统开发
2012-07-03王小娟乔李宁
王小娟,乔李宁,成 磊
(1. 晋城职业技术学院,晋城 048026;2. 山西晋煤集团煤机技术研究分院,晋城 048006)
0 引言
随着带式输送机越来越广泛的应用在各种流水生产线上,尤其应用在煤炭运输领域,带式输送机机构越来越大,滚筒作为带式输送机的主要部件,在超出传统尺寸时,会出现很多设计问题,越来越成为带式输送机发展的主要瓶颈。传统经验设计方式显然无法适应适应特大型滚筒多样化、快速化、可靠性的设计要求,所以很多学者对其结构用各种方法进行优化设计,而在整个设计过程中,绘制图纸、修改图纸和编写零件明细表的时间约占到整个设计时间的50%以上,因此设计一种快速的参数化绘制方法显得极为重要。
AutoCAD是一种通用的计算机辅助设计软件。它有丰富的计算机接口,为用户对其进行二次开发提供了便利的条件。AutoCAD提供的编程接口有VBA、AutoCAD LISP、ADS、Object-ARX等。在文献[1]中,已经详细论述了这些二次开发技术的原理。通过比较,VBA(Visual Basic for Application)以其不可比拟的易学易用功能强大;运行速度快等优点进入我们的视野。而本文就应用最为广泛的AutoCAD绘图工具,利用VBA语言对其进行了二次开发,实现了滚筒的总图和零件图的参数化生成,友好的界面使不懂VBA和AutoCAD的技术人员也能很容易上手,只需将优化结果导入此参数化绘制系统,即可生成并输出所需滚筒的图纸。
1 参数化程序设计思路
利用AutoCAD软件内嵌的面向对象编程语言VBA对AutoCAD软件进行二次开发, 实现建模参数化, 利用尺寸驱动原理, 使尺寸的变化能自动转化到几何形体的相应变化上[2]。在零件形状相同,尺寸不同时候,可以通过AutoCAD VBA的参数化绘图功能来实现。在参数对话框中输入优化得到的尺寸,AutoCAD就可以把零件或部件绘制在图形窗口。
进行滚筒参数化绘图的VBA程序设计的步骤如图1所示。
图1 滚筒参数化绘图VBA程序设计流程图
2 参数化程序设计过程
运用VBA语言基于AutoCAD平台参数化绘制滚筒。滚筒的参数化绘图过程中,其AutoCAD图形文件既需创建直线、圆和曲线等实体对象,还需创建图层和线型等非实体对象。并且需要输入文本和进行尺寸标注以及公差标注。在此我们先介绍一下典型图元的创建方法[2,3]。
1)直线、圆、弧的创建
直线、圆和弧是滚筒图绘制的基本因素。直线用 AddLine创建,应用该方法要给出直线的起点和终点的三维坐标。圆用 AddCircle 创建,应用该方法时要给出圆心的三维坐标和半径。弧用AddArc 创建,应用该方法时要给出弧的起始角和终止角。
2)剖面线的创建
视图中的剖面线也要 基于AutoCAD 平台编程绘制。填充边界应由直线、圆、弧等任意组合创建。
3)图层的创建
视图绘制前需要创建多个图层,在不同的图层上分别创建不同的线型,通过图层属性的不同设置,可以方便的对图形对象编辑和管理。
4)实心面的创建
在视图中焊缝的绘制需用实心面填充。实心面用 AddSolid创建,Solid 为3或4条边组成的实心面,该方法需提供4个三维的顶点作为参数。
5)线型的创建
在不同图层上,一般要设置不同的线型。Linetype 为线型对象,是线型的集合。每一个图形文件,系统自动创建三个线型对象:Bylayer(随层)、Byblock(随块)和 Continuous (连续线,默认值)。如果要使用其它线型,首先要Load Linetype 对象装载线型,然后将已装载线型置为当前线型。线型必须存在于LIN 库文件中。AutoCAD 自带线型存放于 Acad.Lin 文件中。
6)文本的创建
视图中文本的显示,如标题、图纸说明等采用AddTect创建文本对象,并可对文本字体进行设置。
7)尺寸标注
尺寸标注是一种常用的工程图图形注释。滚筒图需要创建长度尺寸标注,直径尺寸标注,角度尺寸标注以及引线尺寸标注。这些尺寸标注均可以编辑和修改。平行尺寸标注用AddDimAligned创建。
角度尺寸标注用 AddDimAngular创建。直径标注用 AddDimDiametric 创建。引线尺寸标注用AddLeader创建。
8)几何偏差标注
表示零件的形状、位置、轮廓和径向跳动等方面的偏差时,需要用到几何偏差,几何公差用AddTolerance创建。
9)块对象
块对象指 Blocks 集合对象和 Block 对象。Blocks 集合对象包含一个图形文档中的所有命名的图块,Block 对象则包含构成一个图块的所有实体对象。在 AutoCAD 中没有提供创建粗糙度的方法,因此,滚筒图的绘制过程中需要创建块。块对象的创建与引用包含3个步骤:
(1)用Add 块对象来创建命名块;
(2)添加实体对象到块对象中;
(3)用 InsertBlock块引用该块至任何地方。
接下来我们介绍一下整个程序的设计过程。
打开Autocad软件,运行Visual Basic编辑器,按以下步骤进行编程:
1)绘图控制程序设计。为提高绘图效率,根据设计需要,可以编写一部分绘图控制程序,当使用主程序时可直接调用。例如初始化程序,即设置绘图环境:设定图幅、划分图层、设置颜色、线型、字体、文本高度、图形插入点和尺寸标注样式等。这部份工作可能在系统中的各个程序模块中反复进行。所以将这些功能代码设计为可重用代码段,需要时只需声明一下,即可调用这些代码段。
2)通用库设计。 对于标题栏、形位公差、焊接符号、表面粗糙度这些对象,根据制图标准,基于AutoCAD的形文件技术建立专门的库,自动化绘图时,采用可编程对话框交互选择,直接插入图形。
3)界面设计。界面设计中用到的标准控件均来自 VBA 系统。本设计选取滚筒直径、皮带宽度、滚筒宽度和滚筒厚度为基本参数,默认以毫米为单位,实现滚筒的参数化绘图。该程序各按钮菜单表示各功能模块,支持使用鼠标操作,界面友好、简洁、人性化,容易交互操作。滚筒参数化绘图的设计界面如图2所示。
3 参数化程序运行步骤
图2 滚筒参数化绘图的设计界面
首先打开AutoCAD,选择工具菜单下的宏,运行VBA管理器,然后选择所在的路径和名称加载要执行的VBA工程,启用宏,打开程序,在Visual Basic编辑器,点击运行程序,在滚筒参数化绘图的设计界面下,输入优化所得的滚筒直径、皮带宽度、滚筒宽度和滚筒厚度大小,点击开始按钮,即可生成我们所要的图纸。绘图程序包括零件部和装配图。图3 图6是程序生成的筒壳、辐板、挡盖和轴的零件图,图7和图8是程序生成的滚筒组件与滚筒的装配图。
图3 筒壳的零件图
图4 辐板的零件图
图5 挡盖的零件图
图6 轴的零件图
图7 滚筒组件的装配图
图8 滚筒的装配图
4 结论
通过建立带式输送机特大型滚筒的几何关系模型,应用VBA对AutoCAD进行二次开发,建立了参数化绘图系统,得到以下结论:利用VBA对AutoCAD进行二次开发,建立带式输送机特大型滚筒结构参数化绘图系统,扩展了AutoCAD的功能,通过改变参数值, 可自动生成形状相同、尺寸不同, 但拓扑关系不变的图形, 减少了设计过程中的重复性劳动, 缩短了设计周期, 降低了劳动强度,极大地提高了绘图效率。本系统功能较为全面,稳定性较高,经生产厂家试用,效果较好,具有较高的实用价值。
[1] 王小娟, 杨玲玲. AutoCAD二次开发工具及技术应用. 山西煤炭管理干部学院学报[J]. 2010, 1: 88-89.
[2] 孔祥丰. AutoCAD VBA 从入门到精通[M]. 电子工业出版社, 2001.
[3] 乔李宁. 带式输送机特大型滚筒的设计[D]. 太原理工大学. 2007.
[4] 武妍, 闫宏印. 用VBA在AutoCAD中开发参数化绘图系统[J]. 机械工程与自动化. 2008, 2(4): 62-63.