刘 川,谭兴强
(1.西华大学机械工程与自动化学院,四川成都 610039;2.攀枝花学院机械工程系,四川攀枝花 617000)
在我国三维CAD软件已得到广泛应用,其中PTC公司的Pro/ENGINEER,作为一种全参数化的设计系统,实现了尺寸驱动的参数化设计。许多企业因其参数化驱动、功能齐全的模块等强大功能,都使用了Pro/E软件。企业生产的复杂零件的建模对Pro/E的技能水平要求较高,工程师往往从事很多繁杂的重复工作,不能充分利用其优势进行产品设计,导致人力、物力的利用率不高。以Pro/E为平台进行二次开发,更大限度地发挥Pro/E的作用,运用Visual C++可以用于Pro/TOOLKIT的自定义功能模块插入到Pro/E的主菜单中方便用户使用,这种开发方式下创建的应用模块虽然灵活性受软件控制,但是投入少、周期短、应用性强,具有广阔的市场。
在有限元方面,ANSYS以其强大的功能,已广泛应用于工业生产及可行性研究。在我国拥有众多用户,在很多工程结构设计时多采用了ANSYS作为分析工具。其具有完备的网格处理能力,能使用强大的耦合场和高精度非线性问题进行求解,后处理能力强,开放性好,可实现CAD软件的无缝集成等优势。
随着计算机图形处理技术和机械设计的不断发展,利用先进的 CAD/CAE工具,即 Pro/ENGINEER和ANSYS这些工具在各自领域的优势,将其结合起来进行CAD/CAE一体化设计,己经成为一种可行方案,具有较好的工程实用价值。
在Pro/E二次开发过程中,先创建零件的三维实体模型,模型的尺寸按设计参数进行输入,通过程序自动进行计算,把计算结果在程序里自动赋值给模型,生成新的模型;然后利用Visual C++创建用户界面,要求输人模型基本参数,并通过Pro/TOOLKIT的底层函数将其传到Pro/E模型中;编写用户菜单和UI对话框,通过Pro/TOOLKIT开发工具创建Visual C++与Pro/E的接口程序;最终实现输入基本参数后三维模型的智能化创建与显示[1]。
菜单是程序与Pro/E进行交互的通道,菜单条菜单是Pro/E的用户界面。菜单条中每种功能各成一行,用户选中某种功能,就会弹出其菜单条菜单(子菜单),菜单条菜单中有一系列选项,来激活各种功能[2]。以冲击载荷作用下管道为例,编写管道设计系统的菜单主程序:
extern"C"int user_initialize()
{ProError status;
ProFileName MsgFile;
uiCmdCmdId PushButton_cmd_id1;
ProStringToWstring(MsgFile,".txt");
//设置菜单信息文件名
status=ProMenubarMenuAdd("X","X","Utilities",PRO_B_TRUE,MsgFile);
//菜单按钮设置
ProCmdActionAdd("PushButtonAct",(uiCmdCmdActFn)XMenuActFn,uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id1);
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("X","X_1","X_1","ok_1",NULL,PRO_B_TRUE,PushButton_cmd_id1,MsgFile);
//设置菜单按钮的动作函数
return status;
}
以冲击载荷作用下管道为例,设计的管道设计系统菜单,如图1所示。
图1 管道设计系统菜单
用户界面对话框(User Interface Dialog Boxes,简称UI对话框)是Pro/TOOLKIT提供的一种系统与用户交互的工具。UI对话框的设计过程主要是:编写资源文件[3]。以冲击载荷作用下管道为例,设计的管道设计系统UI对话框资源文件主程序:
(Dialog X
(Components!对话框元件声明
(PushButton Update)
(PushButton Cancel)
(PushButton Open)
(Separator Separator)
(Label Image)
(SubLayout Layout)
)
(Resources!对话框资源(属性定义)
!Cancel按钮属性定义......
(.Label"X")!对话框标题
(.StartLocation)
(.Layout!对话框元件的布局)
)
(.Label"管道专家设计系统")!对话框标题
(.StartLocation 3)
(.Layout!对话框元件的布局
(Grid(Rows 1 1 1)(Cols 1)
(Grid(Rows 1)(Cols 1 1)
Image1
Layout1
乌申斯基曾说过:比较是一切理想和思维的基础,我们正是通过比较了解世界的一切。比较阅读的教学策略的运用改变了学生被动接受的地位,它让学生和教师平等地研究,平等地探索。而就在这共同的探索中,学生的思维走向多元。《广玉兰》一文教学从中心突破,梳理了脉络,并通过比较发现了文章重点。教师并没有止步于此,而是一以贯之,寻找本文表达上的言语密码。
Separator1
(Grid(Rows 1)(Cols 1 1 1)
Open
Update
Cancel
)
……
以冲击载荷作用下管道为例,设计的管道设计系统UI对话框如图2所示。
图2 管道设计系统UI对话框
int X_1MenuActFn()
{ProError status;
char*dialog_name="X_2";
int ActiveDialog_status;
status=ProUIDialogCreate(dialog_name,dialog_name);
if(status!=PRO_TK_NO_ERROR)
{AfxMessageBox(_T("UIDialog CreateCreate error!"));
return status;
}
......
status=ProUIDialogDestroy(dialog_name);
if(status!=PRO_TK_NO_ERROR)
{AfxMessageBox(_T("UIDialogDestroy error!"));
return status;
}
return status;
}
以管道系统中一段管子长4 m,其中部受到一个冲击力作用,管道材料为合金钢,外径0.4 m,厚0.05 m,一端固定,一端受到F=4.2e3N的轴向载荷作用,中间部分受到冲击载1.5荷F(t)作用。材料的弹性模量 2e11 Pa,泊松比 0.3,质量密度 7.8e3 kg/m3,管道模型和F(t)变化规律,如图3所示。
首先,建立分析模型,加在求解,再进行结果后处理。绘制最大位移对应的时间值-临界时间,并绘出最大位移点随时间变化的位移-时间图,如图4所示。最后,查看临界时间的等合位移云图,如图5所示。
图3 F(t)变化规律
图4 X、Y方向位移
在ANSYS有限元分析中,静力分析产生预应力;模态分析产生振型和频率,为模态叠加法求解准备了必要条件,在瞬态分析中,使用了列表法加载随时间变化的冲击载荷和时间历程。由最大位移点随时间变化的位移-时间图和临界时间的等合位移云图可以看出,根据实际受力情况,管道设计是可行的。网格的划分的精度对求解精度有很大影响,所以在计算机处理允许情况下尽量细化网格,提高有限元分析的精度。
图5 合位移云图
本文介绍了利用Pro/TOOLKIT对Pro/E进行二次开发的方法和步骤,实现了通过输入主要参数可以直接生成实体的功能,并对其建立的三维模型进行ANSYS有限元分析。以冲击载荷作用下管道为例,对实现CAD/CAE一体化设计作了阐述。利用该方法避免了重复作业,提高了设计效率和质量,具有重要的应用价值。其设计思想和方法不仅适用于机械行业,对其他行业工程设计同样具有很大的参考价值[1]。
[1] 贾海利,柏占伟,王仲民,等.Pro/E二次开发关键技术的研究与应用关[J].新技术新工艺,2005(9):7-9.
[2] 李世国.Pro/TOOLKIT程序设计[M].北京:机械工业出版社,2003.
[3] 于德江.基于Pro/E的三维参数化零件库的研究与实现[D].成都:电子科技大学,2007.