面向对象的拉刀CAD系统

   2018-07-20 42
核心提示:[db:简介]

摘 要:介绍一个面向对象的拉刀CAD系统的组成与环境、优化设计数学模型的建立、用户界面的设计、设计计算程序与AutoCAD的数据传输,并给出了应用实例。
关键词:面向对象的程序设计 拉刀设计 CAD 优化设计 界面  数据传输

Object-oriented CAD System for Broaches

Xu Ying

Abstract:An object-oriented CAD system for broaches is introduced. The make-up and environment of the system,the establishment of the mathematical model for the optimal design,the design of the user interface and the data communication of the design calculation program with AutoCAD are presented. And an applied example of the system is given.
Keywords:object-oriented programming design of broach CAD optimal design boundary interface data communication

1.引言

  面向对象的程序设计是软件设计及实现的新方法,它通过增加软件的可扩充性和可重用性来改善并提高程序员的设计能力,并控制软件维护的复杂程度和成本开销。本文介绍一个面向对象的拉刀CAD系统,该系统可完成四类拉刀从参数优化、刃形设计、结构设计到工作图自动生成的全部工作。通过适当补充和修改,该系统也可用于其它拉削类刀具的CAD。

2.系统的组成与环境

  拉刀CAD系统的组成如图1所示。

图1 拉刀CAD系统的组成

  (1)面向用户的人机交互接口软件
  系统程序界面所用的编程语言是面向对象的程序设计语言VB5.0。
  (2)拉刀参数优化程序
  该程序可根据用户输入的已知参数和数据文件中的相应信息,完成对齿升量及齿距的参数优化。参数优化的编程语言采用Fortran 90。
  (3)拉刀设计计算程序
  该程序可将用户输入的已知参数及优化参数与数据文件中的相关参数相结合,按预定的步骤和公式完成对刃形参数和结构参数的设计计算。编程语言采用VB 5.0。
  (4)拉刀自动绘图程序
  采用AutoLisp语言编写参数化绘图程序,根据设计计算结果绘制刀具工作图,并可利用AutoCAD R14的各项功能进行修改。
  (5)数据文件
  数据文件用于存放数据表格和线图资料等信息。

3.优化数学模型的建立

  (1)确定设计变量
  在拉刀设计中,齿升量af与齿距p是拉刀设计的关键参数,也是选择其它参数的依据,故取其为设计变量,即

  (2)建立目标函数
  缩短拉刀长度既可降低刀具成本,又可提高生产率,故取拉刀切削齿部长度L最短为优化设计的第一个目标函数,即

  拉削力F的大小决定了所需机床的规格及拉削过程的相对平稳性,故取其为优化设计的第二个目标函数,即

  (3)约束条件
  在设计过程中,由于刀具及机床等条件的限制,可供选择的齿升量af和齿距p都是有限的,故进行优化设计时必须考虑以下约束条件:容屑槽深度应保证拉刀有足够的刚度;容屑槽深度应大于允许的最小容屑槽深度;拉削力不应大于机床允许拉力;拉刀的最大拉应力不应大于允许拉应力;最大同时工作齿数、齿升量和齿距均应在限制范围内;齿距应为0.5的整数倍。用函数表示上述约束条件为

式中 m——约束条件的个数
  (4)优化原理
  双目标的优化问题可采用加权求和法来处理,经加权求和后的目标函数为

式中,λ1和λ2分别为拉刀长度和拉削力的加权因子,其大小取决于设计的主要矛盾,且λ12=1。
  由于af为离散变量,为提高优化设计的精度,还需对其进行离散化处理。

4.用户界面的设计

  用户界面是设计程序显示在屏幕上的外观形态,也是用户与程序相互通讯所使用的一般术语。用户提供输入值,程序完成对数据的处理,并显示结果。界面外观及界面对用户的友好程度是软件设计质量的重要指标。
  本软件采用Windows 95图形用户界面,用户要求或参数的输入大多通过屏幕选项或键入数字来实现。例如拉削方式共有3种,如果要求用户用文字键入方式来加以确定,不但使用户操作难度加大,而且给程序处理带来困难,因为不同的用户可以采用不同方式的字母组合来表达同一意思,计算机将无法识别。故采用一组三个单选框来代表不同的拉削方式,当选定一种方式后,其余两种方式即自动取消,实现了选项的唯一性。
  已知的加工条件是根据用户需要输入的,因此不能采用列表方式进行选择。采用文本框来接收用户输入是一种合理方式,文本框可使输入数据与内部的计算机公式联系起来。为了使用户在拉刀图形未绘出前即获知计算机优化及计算的(部分)结果,本软件在完成计算后可将计算结果输出到结果框中,并将拉刀齿升量以表格形式显示在结果框中。图2所示为键槽拉刀输入/输出工作界面的应用实例。

图2 键槽拉刀输入/输出工作界面

  当需要进行多项选择时,若采用单选框或复选框的形式,将使按钮增多,界面复杂,不利于用户选择。为节约有限的屏幕资源,可采用组合框列出所有选项,如用户对默认值不满意,可通过鼠标点击组合框来选择自己需要的项目。选择完后,组合框又变为一个文本框和一个下箭头,应用实例如图3所示。

5.数据信息的处理

  由于系统的数据表并不太多,且各数据表的结构和形式差异较大,如采用目前流行的数据库软件,则必须为每一个数据表建立一个数据管理资源及查询代码,这样不但浪费数据资源,且因每一个数据表的数据并不多,采用数据库软件查找功能并不比直接查找快多少。基于以上考虑,本软件在设计过程中将大量表格数据输入顺序文件中,在程序运行时,再从这些文件中读出相关数据。顺序文件可用各种字处理软件编辑,因此可实现用户查看、修改各类数据的要求。

图3 选项框的工作界面

6.设计计算程序与AutoCAD的数据传输

  设计计算程序中的各种数据与AutoCAD之间的数据传输是软件设计时必须解决的关键问题。要解决这一问题,必须综合考虑两方面因素:一是设计计算程序必须能实现数据传递;二是AutoCAD必须能正确接收数据,且能与各程序数据类型相匹配。传统方法是采用数据文件来实现数据传递,但这必须在各程序与数据文件之间保持严格的一一对应关系,同时还必须保证各数据类型的一一对应。由于AutoLisp读出的所有数据均为字符串形式,因此必须在AutoLisp绘图程序中增加类型转换程序,而这对于相关数据较多的非标刀具是相当繁琐和复杂的。
  本软件采用的解决方法是直接由设计计算程序自动生成一个AutoLisp程序,并将从数据文件中检索得到的数据、本计算程序所得数据(即动态数据)和用户输入的信息赋值给变量,即此Autolisp程序包含了绘图程序所需的数据,且此程序中的变量与AutoLisp绘图程序中的变量相同。这样,只要在执行AutoLisp程序前执行了由设计计算程序自动生成的AutoLisp程序,绘图程序就能获得所需数据。此方法可将绘图和赋值功能分开,使程序结构合理、清晰、简洁。
  本系统的另一特色在于能自动调用AutoCAD,并将需要加载的AutoLisp程序输入到AutoCAD中自动运行。

7.应用实例

  为验证该拉刀CAD系统的可行性,给出以下应用实例。
  已知条件如图2和图3所示,设计结果如图4所示。

图4 拉刀设计图例

 
举报收藏 0打赏 0
 
更多>同类数控技术
推荐图文
推荐数控技术
点击排行
网站首页  |  关于我们  |  升级会员  |  联系客服  |  广告合作  |  广告位图  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  RSS订阅  |  违规举报  |  蜀ICP备2021024440号