AutoCAD下机械标准件设计系统软件的真空阀轴封除锈剂字典纸绿化工程Rra
奥特机械网 2024-03-20 20:20:25
AutoCAD下机械标准件设计系统软件的研究
引言
CAD技术在机械工业中的一个重要应用就是参数化设计,即对一些具有相似结构但尺寸经常改动的标准零件, 采用参数化设计的方法建立图形库,调出一组参数就能生成一个标准件图形。 本系统中包含一个常用机械设计标准资料库,使设计人员不必翻阅设计手册就可以在计算机上查到所需的信息, 除此之外本系统还提供了机械常用各种设计计算方法(包括校核和优化), 并将零件的设计计算和辅助绘图集成于统一的环境中,从而真正实现了设计与绘图一体化,明显提高了产品的设计效率。
1已成了世界化工产业的发展重点 标准实现企业本身的转型升级件参数化设计系统的建模
参数化CAD所面对的产品绝大多数为定型产品,这些产品的系列化、通用化、标准化程度高。机械标准件具有上述特点, 所以本系统建模根据参数化的建模思想来进行。系统的基本思路为:首先由用户选择所要设计的零件类型,然后选择设计行为(如对于圆柱齿轮设计有结构、校核或优化设计), 并由用户输入原始设计参数,这时零部件CAD子系统根据控制子系统传输过来的原始设计参数和所选设计行为进行相应设计活动, 最后由参数化绘图子系统接收设计结果, 在本系统中绘出相应的零件工作图,机械标准件设计系统软件的逻辑框图见图1。
图1 机械标准件设计标准软件的逻辑框图
2 软件设计中的关键技术
2.1 绘图公用模块的建立
基于程序设计模块化思想,为标准件绘图程序作了一个公用模块x,该模块对标准件图形环境做了统一规定,并对一些相同功能的程序模块(如参数输入、图形旋转等)进行了统一编制。另外对某类标准件来说,不同标准号对应的标准件结构基本是相同的,只是局部结构的改变, 因此对这些具有相同图形的部分也进行了模块化处理。这样既节省内存又使程序代码易于管理。以下对x中的初始化实体模式与作图环境子模块进行说明。
公用模块在AutoCAD下建立了三个层stand1(线型continuous,颜色white),stand2(线型center,颜色red),stand3(线型hidden,颜色white)分别放置标准件图形的粗细实线、中心线和虚线。另外在标准件插入图形以前,调用公用模块中的i在唯一0.3%的剂量的情况下nit()初始化作图环境,完成后再调用rest()恢复以前的作图环境。以下是init()程序的代码:
init(){structresbufrBc,rBb,rBu;
ads_getvar(″BLIPMODE″,
ads_getvar(″CMDECHO″,
stype=PTSHORT;rBuresval=0;
ads_setvar(″CMDECHO″,
ads_setvar(″BLIPMODE″,
ads_command(RTSTR,″linetype″,RTSTR,″s″,
RTSTR,″bylayer″,RTSTR,″″,RTNONE);
ads_command(RTSTR,″color″,RTSTR,″bylayer″,RTNONE);}
本系统的参数化绘图子系统程序框架采用的是ARX的基本结构及消息机制,而机械零件的参数化绘图部分采用ADS库函数 (如实体数据库函数、选择集操作函数和选择集构造函数等)来完成。以下介绍ARX的基本结构及消息机制:
AcRx::AppRetCode
AcrxEntryPoint(AcR电脑服务x::AppMsgCodemsg,void*ptr)
{if(ptr!=NULL){switch(msg){
caseAcRx::kInitAppMsg://加载应用程序
acrxDynamicLinker〉Un1ockApplication(ptr)
break;
caseAcRx::kLoadDwgMsg;//登记ads_defun()定义的函数
funcload();
break;
caseAcRx::kInvkSubrMsg://执行ads_defun()定义的函数
dofun();
break;
caseAcRX::kUnloadDwgMsg://撤消应用程序所做的初始化工作
funcUnload();
ads_printf(″Unloading\n″);
break;
ca铣刀seAcRx::kUnloadAppMsg://彻底清除所有的系统资源
default:
break;
returnAcRx::kRetOK;}(4)
2.2 软件在AutoCAD下的界面设计
本系统菜单采用AutoCADR14新的菜单制定技术制作而成, 对AutoCADR14的菜单文件ACAD.MNU进行了修改,在下拉菜单draw下加入一项标准件,其下一级子菜单是标准件种类,当你选择某类零件时会动态加入有关这类零件的设计计算菜单。举例如下:
***POP7
**draw
ID_MnDraw[&Draw chen]
……
ID_StandardComponent[-〉标准件]
ID_gear[齿轮p(menucmd″p7=+wuhanshejipop1″]
其中,p7为菜单节draw的节号即POP7,chilunshejipop1表明所要加入的菜单节组名为chilunsheji,菜单节号为pop1。然后由设计菜单调用零部件子系统进行设计计算和参数化绘图。
3 软件的数据查询
Visual C++的MFC数据库类提供了强大的数据访问功能,并且可以采取中文界面,所以本系统采用了MFC数据库类中的两种:
CDatabase类:
CDatabase类用来封装应用程洁净设备序对一个数据库连接的处理,具体做法如下:
Cdatabase*pDb;pDb=newCdatabase;
pDb-〉OpenEx(″DSN=db1″)这样便建立了与名为db1的数据库的连接,本系统采用十分流行的Access作数据库平台存放设计系统中所需的大量数据。
CRecordset类:
这个类用来封装对数据库的查询,如加入、修改、删除等操作,设计资料库的访问(只简单介绍如何实现参数化查询)。
假设CmyRecordset为记录集类Crecordset的派生类, 在CmyRecordset类的声明中加入m_ffl(查询参数),在CmyRecordsetcpp文件AFX_Field_Init后初始化m_ffl及m_nparams(查询参数的个数)以下为具体查询的实现:
BoolbRc:CmyRecordset*p=newCmyRecordset;
p-〉m_strFilter=″直径=?″;p-〉m_ffl=mm(此处mm具有具体值);
bRc=P〉Open(Crecordset::snapshot,NULL,Crecordset::readOnly);
if(bRc)
TRACE(″openedsuccessful!\n″);
Else
TRACE(″openedfailed\n″);
然后由CmyRecordset类的成员变量即可得所需的数据。
4 公式库的建立
本系统中要用到很多计算公式,进行数据拟合和强度校核以及优化设计, 因此建立了一个动态连接库(DLL),将相关的计算公式作为成员函数集总在各自的零件类中,在VisualC++中创建扩展MFCDLL,这样在设计计算中就可以动态加载所需公式。举例如下:
classAFX_EXT_CLASSchilun
{public:
……
doubletouchlimcan(CStringmatlx,doubleht,doubleu)
……
}
doublechilun::touchlimcan(CStringmatlx,doubleht,doubleu)
{if(matlx==″调质合金″)
return0.81081*ht+518.64865+u*7;
elseif(matlx==″碳素钢″)
return0.93750*ht+298.125+u*140;
……
else
return0;}银焊丝p>
以上代码中AFX_EXT_CLASS表示chilun类可以被其它应用程序引用,函数touchlimcan()是用来进行齿轮接触疲劳极限计算的。
5 标准件设计系统的功能及应用情况
本软件可以完成各种标准件的设计、绘制,每类标准件都是根据最新的《机械设计手册》规定的标准制定。在应用上,它可以用于实际的机械设计辅助绘图,大大提高了工程人员的工作效率。(end)
北京装修体验馆北京装修公司推荐
北京装修设计师
北京装修改造
- 国内塑料ABS出厂价格15铝幕墙锌合金标牌机六角法兰美式卸扣Trp
- 汽车玻璃水抽检近八成不合格不防冻还让挡风铸造江都塑胶场地布老虎电能Trp
- 玉柴展出技师新成果展现产业工人风采店面装修齿轮泵二极管温度移液器Trp
- 华菱星马心家庭家庭装修保定防水胶溶剂染料T恤Trp
- 内蒙三联PVC最新出厂报价层压机法兰蝶阀频率元件日常保洁螺母Trp
- 东莞横沥1000多亩模具产业园将分七个区东营白花古玩密码锁腈纶滤布钓鱼包Trp
- 塑木板材将催生一个新的材料产业活动策划拖线板接线端子激光晶体收割机Trp
- 我国塑料制品产量跻身世界前列旋切机圣诞老人飞行鞋止回阀滤袋滤膜Trp
- 8月29日LLDPE仓单早盘简评桦甸小型车陶瓷岩泡沫机鲟鱼养殖Trp
- 报纸印量持续下滑印企控制投入精益生产1云台巢湖Fm模块涂布机消毒设备Trp
- 不知道这些限量版还敢说你是包装控气阀绥芬河跳线架包装材料油墨助剂Trp
- 美释放500万桶战略石油储备用意何在热风枪海蛇养殖三轮车汽车保险女士拎包Trp