轴自动设计软件系统的图形生成功能开发
2016-07-04李明华
李明华
一、引言
轴是一种非标准件,普遍采用的设计方法是按照给定的条件,按照公式进行计算设计和结构设计,在设计过程中要查阅大量的图表并进行大量的计算,这些设计过程基本是带有人为因数的、经验性的。基于以上情况,我们设计了一种轴自动设计系统,用户只要给出必要的参数和实际的工作状况,可完成轴的设计,设计出满足用户的合理的零件。由于计算机运算的高速性和不受外界环境影响的准确性,提高了产品设计得质量和可靠性,防止产品设计过程中人为因素造成产品设计缺陷。毫无疑问,这大大减少了设计工作人员的工作量,同时自动设计系统图形自动生成功能的实现也为自动制造打下必要的基础。用VB进行调用,以数据库技术进行两种编程语言之间大量数据的传递,以VB驱动AutoCAD使其自动的产生设计零件图,这是我们在自动设计系统研制中采用的技术。将AutoCAD当成自己VB程序中的一个图形窗口,对其进行调用、绘图、编辑等操作。用V B进行AutoCAD二次开发,不论是用于理论研究,实现自己的设想,还是用于工程设计,开发面向实际工程问题的软件,均是十分有效的手段和方法。
二、轴自动设计图形生成系统的基本技术
轴的设计包括结构设计和工作能力计算两方面的内容。轴的结构设计是根据轴上零件的安装、定位以及轴的制造工艺等方面的要求,合理地确定轴的形式和尺寸。轴的结构设计不合理,会影响轴的工作能力和轴上零件装配的困难等。因此,轴的结构设计是轴设计中的重要内容。轴的工作能力计算指的时轴的强度、刚度和振动稳定性等方面的计算。多数情况下,轴的工作能力主要取决于轴的强度。这时只需对轴进行强度计算,以防止断裂或塑性变形。在多窗口界面中,所有窗体都以桌面为托,好像由多个程序运行一样,窗口管理比较麻烦,采用MDI多文档界面会将窗口的管理程度降到最低。在多文档界面中,有且只有一个主文档窗体(MDI主窗体),它的窗体区域不能放置除菜单类组件以外的任何控件,但可以拥有多个子窗体(MDI子窗体),也就是说MDI子窗体不能独立存在,并且不能为模式窗体,它们只能在MDI主窗体的窗体区域内活动;子窗体最大化时其标题栏和菜单栏能和主窗体合并;最小化时子窗体并不会缩至任务条上,而是缩小至主窗体的左下角;关闭主窗体时,所有子窗体都能自动关闭。充分使用好MDI界面会使用户觉得窗口控制更加簡单。
三、在VB编程中对于AutoCAD 的嵌入
1.AutoCAD对象模型树。AutoCAD对象分为以下类型:
▲图像对象,例如直线(Lines)、球体(Sphere)、文本(Text)和尺寸(Dimensions)等。
▲样式设置对象,例如线型(linetypes)和尺寸标注样式(DimStyles)等。
▲组织结构,例如图层(Layers)、组(Groups)和块(Blocks)等。
▲图形显示对象,例如视图(View)和文档(Document)。
所有的这些AutoCAD对象根据它们的不同功能,具有一定的层次和隶属关系。最上面一层是AutoCAD应用程序对象(Application),它是对象模型的基础,成为根对象。通过Application对象的属性和方法可以获取版本信息,改变AutoCAD窗体界面大小和退出AutoCAD应用程序等。通过ModelSpace对象,可以在模型空间创建Line,Arc等图形实体。
2.VB调用AutoCAD的基本框架。VB调用AutoCAD的基本框架,所有的其他操作,都建立在这个框架的基础上,因篇幅关系,仅介绍主要技术环节:其中声明公共变量,“obj_acad,obj_doc,obj_modelspace”,obj_acad:Application对象,AutoCAD软件本身;obj_doc:Document对象,当前的图形文件;obj_model space:Model Space对象,当前图形文件的模型空间。声明公共变量“boo as boolean”,如果boo为true,则表示我们获得了Application对象、Document对象、Model Space对象,可以执行绘图或者其他的操作。GetActiveOleObjects、GetActiveOleObject是VB提供的获取“Application对象”的函数。前者表示通过已启动的AutoCAD获得Application对象,后者表示通过打开一个新的AutoCAD程序获得Application对象。程序里用了一个VB的异常处理语句“On Error Resume Next”,表示如果AutoCAD已启动,则执行GetActiveObject直接获得Automation对象,CreateOleObject函数,AutoCAD打开。
四、轴自动设计软件系统的图形生成
1.生成CAD图像的设计思想。首先建立中间轴的样本,规划出轴中要用到的所有的点(图中只写出部分点)。如图4-1所示。
图4-1 轴的样板图样
然后是图纸的整体规划,根据图在图纸中的位置计算出第一个点的坐标,后面的点都根据第一个点和中间轴的相关尺寸推算出来的。然后根据添加直线、圆弧等方法就可以在AutoCAD中生成轴的轮廓图如图4-1中的轮廓。
接下来是添加剖面线,这里要注意的是要采用AppendOuterLoop的方法向填充对象添加填充边界前必须先定义OuterLoop,否则将会提示出错。
然后采用创建填充对象的方法AddHatch创建填充对象。
向轴的AutoCAD图中添加技术要求,代码如下:
Set obj_text(0) = obj_modelspace.addtext("技术要求:", p127, 7)
Set obj_text(1) = obj_modelspace.addtext("1.调质200—250HBS", p128, 7)
参见3.6尺寸和公差一节我们可以添加尺寸标注与公差,此例中标注尺寸的代码如下:
而对于几何公差,我们需要先建立基准A方法同轴的轮廓的绘制,也是先在基准的位置确定点的坐标,然后添加直线、圆以及文字。
第二步是程序的调试。
第三步是程序的关联。通过在模块中定义变量,然后再把这些变量传递给图形生成模块。
2.轴自动设计系统的运行.轴自动设计软件系统是常用零部件自动设计系统的一部分,其运行情况如下:
(1)输入中间轴的转速和功率,计算轴的最小直径;(2)轴的结构设计;(3)计算轴上的弯扭矩;(4)生成AUTOcad图像。
五、结语
轴自动设计系统的图形生成功能开发实现了零部件CAD图的成功生成,在真正意义上完成了自动设计。特别是系统的实现了结构设计、绘图设计、尺寸标注、添加文本、尺寸公差及几何公差等方面的控制方法,完善了自动设计系统,在一定程度上提高了自动设计系统的自动化程度。
参考文献:
[1]杨星,赵晓东.AutoCAD2004二次开发(VB版)及在海工模型试验数据处理中的应用.第1版.北京:海洋出版社,2005.12.
[2]刘磊,李贵三. 轴强度设计中相关数据自动查取算法与自动计算程序设计. 苏州大学机电工程学院,苏州大学学报,第29卷第2期,2009年4月.
[3]相昌盛.带传动自动设计软件系统的图形生成功能开发, 2010年淮海工学院优秀毕业论文摘要,2010年6月.
[4]牛又奇,孙建国.新编Visual Basic程序设计教程.第1版.苏州:苏州大学出版社,2002.
[5]王栋. Visual Basic 程序设计实用教程.第2版.北京:清华大学出版社.2002.
[6]李贵三.工程应用程序设计基础.辽宁:辽阳石油化工高等专科学校,1996.
[7]张晋西.Visual Basic与 AutoCAD二次开发.第1版.北京:清华大学出版社.2002.
[8]成大先.机械设计手册.第1版.北京:化学工业出版社,2004.
指导老师:李贵三 教授。