一种用于复杂刀具多参数设计的CAD方法
摘 要:提出一种用于复杂刀具多参数设计的CAD方法,并以蜗轮滚刀设计为例,介绍了CAD软件的总体结构、功能设计以及Foxbase+与VC++、Autolisp语言间的数据通讯。
关键词:复杂刀具 蜗轮滚刀 CAD 多参数设计
CAD Method for Multi-parameter Design of Complex Cutters
Dong Jing et al
Abstract:A CAD method for the multi-parameter design of complex cutters is presented.Taking the design of a wormgear hob for exemple,the total structure,function design of the CAD software and the data communications between Foxbase+ and VC++ as well as Foxbase+ and Autolisp are introduced.
Keywords:complex cutter wormgear hob CAD multi-parameter design
1.引言
在刀具设计,尤其是复杂刀具的设计中,为了减少设计工作量,缩短设计周期,提高设计精度,采用CAD技术已是当务之急。本文在普通刀具CAD技术的基础上,提出一种适用于复杂刀具多参数设计的CAD方法,并开发了相应的CAD软件。对于同一类型不同结构尺寸的复杂刀具,只要输入已知参数,不必重新编程计算,即可自动按用户要求进行刀具结构尺寸运算,并绘制出刀具设计结构图。该软件的最大优点是具有一定通用性,与交互式绘图软件相比,可大大缩短设计周期,提高设计精度,减小同类产品之间的设计误差。现以蜗轮滚刀参数设计为例,对软件的总体结构、功能设计和数据通讯作一介绍。
2.蜗轮滚刀参数设计软件的总体结构
本软件采用结构化设计方法,首先利用Foxbase+数据库进行窗口设计和数据查询、检索;然后采用VC++语言进行参数运算;最后调用智能型参数绘图语言Autolisp编制的绘图程序进行滚刀工作图绘制。软件执行框图见下图。
软件执行框图
3.窗口设计和数据检索
本软件的菜单设计和数表查询均采用Foxbase+语言,Foxbase+可实现建立数据库和数据查询等操作,并可通过程序实现数据文件中的数据操作。因此,设计蜗轮滚刀时的许多查表工作均由Foxbase+完成。此外,Foxbase+还具有简明的菜单设计功能。本软件采用@X,Y SAY“……”语句进行菜单设计,其优点在于:用@……SAY定位显示语句可以在屏幕任意位置设置任意大小的菜单,不必在没有显示信息的地方频繁添补空格符,因此具有一定灵活性。而且这种语句可充分利用硬件环境提供的彩色功能,使菜单美观醒目。程序语句举例如下
@5,12 say“……蜗轮滚刀菜单选择……”
@7,12 prompt“1.阿基米德蜗轮滚刀”
@9,12 prompt“2.齿槽法向直廓蜗轮滚刀”
@11,12 prompt“3.ZC1圆弧圆柱蜗轮滚刀”
@12,13 prompt“4.退出”
4.Foxbase+与VC++间的数据通讯
本软件中有关滚刀结构参数的计算采用VC++语言,而Foxbase+与高级语言之间的数据通讯是借助数据文件来实现的。
Foxbase+的COPY TO命令可将数据库文件转换为高级语言程序能够接受的数据文件(以*.TXT为扩展名的文本文件),而APPEND FROM命令则可将高级语言数据文件的数据转移到数据库文件中,从而完成Foxbase+与高级语言之间的数据通讯。
5.Foxbase+与Autolisp间的数据通讯
在计算机辅助设计中,数据信息与图形信息紧密相关,在利用Foxbase+菜单设计数表查询、调用VC++程序计算出滚刀设计结构参数以后,则需要将这些数据信息传输给Autolisp程序进行参数绘图。
Autolisp语言是一种嵌入AutoCAD内容的智能设计语言,是对AutoCAD进行二次开发的有力工具,该语言在AutoCAD环境下运行,可直接调用AutoCAD绘图命令。
在本软件设计中,采用Autolisp的输入输出(I/O)功能来实现与Foxbase+的数据通讯。在Autolisp的I/O函数中,Read-line能够从ASCII码文本文件中读取数据,每次读取一行,每一行作为一个处理单元。利用Foxbase+语言将滚刀设计结构参数的最终计算结果存入一个文本文件(*.TXT)中,然后再由Autolisp接口程序调用,读取文本文件(*.TXT)中的数据,进行参数绘图。
例如:读取直线两端点坐标Pt1,Pt2绘制直线Pt1Pt2,其程序如下:
(setq f(open “name1.txt” “r”))
(setq kk(read line f))
(setq b“(”c“)”)
(setq mm(strcat b kk c))
(setq nn(read mm))
(setq pp(car nn))
(if(=pp 1)(setq ptl(list (nth 1nn)(nth 2nn))))
(setq pt2(list(nth 3 nn)(nth 4 nn)))
(command“line”pt1 pt2)
(command nil)
6.结语
本软件利用Foxbase+生成屏幕菜单,直观简洁。Foxbase+的数据库管理功能便于刀具设计所需表项的存储,并可定位查找。为克服Foxbase+计算能力差的弱点,利用VC++进行刀具结构参数的计算,并利用接口程序实现两种语言之间的数据通讯。
刀具结构参数确定以后,通过调用预先编制的Autolisp参数绘图程序,可方便、迅速地绘出蜗轮滚刀工作图,省去了交互式绘图的繁琐程序。
本软件的编程方法同样适合于其它类型刀具的CAD。
作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/10/2247.html