基于冲击载荷作用下管道的CAD/CAE一体化设计*

2015-11-23 03:04谭兴强
机械研究与应用 2015年1期
关键词:二次开发对话框菜单

刘 川,谭兴强

(1.西华大学机械工程与自动化学院,四川成都 610039;2.攀枝花学院机械工程系,四川攀枝花 617000)

0 引言

在我国三维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一体化设计,己经成为一种可行方案,具有较好的工程实用价值。

1 Pro/E二次开发

在Pro/E二次开发过程中,先创建零件的三维实体模型,模型的尺寸按设计参数进行输入,通过程序自动进行计算,把计算结果在程序里自动赋值给模型,生成新的模型;然后利用Visual C++创建用户界面,要求输人模型基本参数,并通过Pro/TOOLKIT的底层函数将其传到Pro/E模型中;编写用户菜单和UI对话框,通过Pro/TOOLKIT开发工具创建Visual C++与Pro/E的接口程序;最终实现输入基本参数后三维模型的智能化创建与显示[1]。

1.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 管道设计系统菜单

1.2 UI对话框

用户界面对话框(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对话框

1.3 接口设计

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;

}

2 ANSYS有限元分析

以管道系统中一段管子长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 合位移云图

3 结语

本文介绍了利用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.

猜你喜欢
二次开发对话框菜单
浅谈基于Revit平台的二次开发
中国新年菜单
正常恢复虚拟机
浅谈Mastercam后处理器的二次开发
Bootlace Worms’Secret etc.
What Is Beauty?
西门子Easy Screen对倒棱机床界面二次开发
本月菜单
浅谈VB的通用对话框《CommonDialog》控件的使用
基于Pro/E二次开发的推土铲参数化模块开发