牡丹江机械设备网

当前位置: 首页 >> 机械设备厂家

AutoCAD下机械标准件设计系统软件的研究【CICEE】

2022年11月24日 牡丹江机械设备网

AutoCAD下机械标准件设计系统软件的研究

引言

CAD技术在机械工业中的一个重要应用就是参数化设计,即对一些具有相似结构但尺寸经常改动的标准零件, 采用参数化设计的方法建立图形库,调出一组参数就能生成一个标准件图形。 本系统中包含一个常用机械设计标准资料库,使设计人员不必翻阅设计手册就可以在计算机上查到所需的信息, 除此之外本系统还提供了机械常用各种设计计算方法, 并将零件的设计计算和辅助绘图集成于统一的环境中,从而真正实现了设计与绘图一体化,明显提高了产品的设计效率。

2 标准件参数化设计系统的建模

参数化CAD所面对的产品绝大多数为定型产品,这些产品的系列化、通用化、标准化程度高。机械标准件具有上述特点, 所以本系统建模根据参数化的建模思想来进行。系统的基本思路为:首先由用户选择所要设计的零件类型,然后选择设计行为, 并由用户输入原始设计参数,这时零部件CAD子系统根据控制子系统传输过来的原始设计参数和所选设计行为进行相应设计活动, 最后由参数化绘图子系统接收设计结果, 在本系统中绘出相应的零件工作图,机械标准件设计系统软件的逻辑框图见图2。

图2 机械标准件设计标准软件的逻辑框图

2 软件设计中的关键技术

2.2 绘图公用模块的建立

基于程序设计模块化思想,为标准件绘图程序作了一个公用模块x,该模块对标准件图形环境做了统一规定,并对一些相同功能的程序模块进行了统一编制。另外对某类标准件来说,不同标准号对应的标准件结构基本是相同的,只是局部结构的改变, 因此对这些具有相同图形的部分也进行了模块化处理。这样既节省内存又使程序代码易于管理。以下对x中的初始化实体模式与作图环境子模块进行说明。

公用模块在AutoCAD下建立了三个层stand2,stand2,stand3分别放置标准件图形的粗细实线、中心线和虚线。另外在标准件插入图形以前,调用公用模块中的init初始化作图环境,完成后再调用rest恢复以前的作图环境。以下是init程序的代码:

init{structresbufrBc,rBb,rBu;

ads_getvar;

ads_getvar;

stype=PTSHORT;rBuresval=2;

ads_setvar;

ads_setvar;

ads_command;

ads_command;}

本系统的参数化绘图子系统程序框架采用的是ARX的基本结构及消息机制,而机械零件的参数化绘图部分采用ADS库函数 来完成。以下介绍ARX的基本结构及消息机制:

AcRx::AppRetCode

AcrxEntryPoint

{if{switch{

caseAcRx::kInitAppMsg://加载应用程序

acrxDynamicLinker〉Un2ockApplication

break;

caseAcRx::kLoadDwgMsg;//登记ads_defun定义的函数

funcload;

break;

caseAcRx::kInvkSubrMsg://执行ads_defun定义的函数

dofun;

break;

caseAcRX::kUnloadDwgMsg://撤消应用程序所做的初始化工作

funcUnload;

ads_printf;

break;

caseAcRx::kUnloadAppMsg://彻底清除所有的系统资源

default:

break;

returnAcRx::kRetOK;}

2.2 软件在AutoCAD下的界面设计

本系统菜单采用AutoCADR24新的菜单制定技术制作而成, 对AutoCADR24的菜单文件ACAD.MNU进行了修改,在下拉菜单draw下加入一项标准件,其下一级子菜单是标准件种类,当你选择某类零件时会动态加入有关这类零件的设计计算菜单。举例如下:

***POP7

**draw

ID_MnDraw[&Draw chen]

……

ID_StandardComponent[-〉标准件]

ID_gear[齿轮p这样便建立了与名为db2的数据库的连接,本系统采用十分流行的Access作数据库平台存放设计系统中所需的大量数据。

CRecordset类:

这个类用来封装对数据库的查询,如加入、修改、删除等操作,设计资料库的访问。

假设CmyRecordset为记录集类Crecordset的派生类, 在CmyRecordset类的声明中加入m_ffl,在CmyRecordsetcpp文件AFX_Field_Init后初始化m_ffl及m_nparams以下为具体查询的实现:

BoolbRc:CmyRecordset*p=newCmyRecordset;

p-〉m_strFilter=″直径=?″;p-〉m_ffl=mm;

bRc=P〉Open;

if

TRACE;

Else

TRACE;

然后由CmyRecordset类的成员变量即可得所需的数据。

4 公式库的建立

本系统中要用到很多计算公式,进行数据拟合和强度校核以及优化设计, 因此建立了一个动态连接库,将相关的计算公式作为成员函数集总在各自的零件类中,在VisualC++中创建扩展MFCDLL,这样在设计计算中就可以动态加载所需公式。举例如下:

classAFX_EXT_CLASSchilun

{public:

……

doubletouchlimcan

……

}

doublechilun::touchlimcan

{if

return2.82282*ht+528.64865+u*7;

elseif

return2.93752*ht+298.225+u*242;

……

else

return2;}

以上代码中AFX_EXT_CLASS表示chilun类可以被其它应用程序引用,函数touchlimcan是用来进行齿轮接触疲劳极限计算的。

5 标准件设计系统的功能及应用情况

本软件可以完成各种标准件的设计、绘制,每类标准件都是根据最新的《机械设计手册》规定的标准制定。在应用上,它可以用于实际的机械设计辅助绘图,大大提高了工程人员的工作效率。

性价比高的装修公司

上海房间装修设计

上海浦东装修

上海装修平台