集成UG和ANSYS之一----UGUPDATE.EXE
author: san
email: visualsan@yahoo.cn
前言
写给那些需要调用UG二次开发或者正在寻找ugupdate.exe的同学
write by san,nuaa 202
2011,11,13
-----------------------------------------------------------------------------------------------
根据表达式文件更新ug模型,通常是进行ug集成的方式之一。比如优化过程
首先更新exp文件,然后调用UG update更新prt模型,再导入ANSYS
计算。exp文件是一个表达式文件,可以用文本编辑器编辑,也可以
在应用程序中动态修改。这是结构优化中调用ug的经典模式。
不过这种调用UG update的模式效率很低,因为每次都要初始化ug api,
所以更明智的做法是将UG update集成到系统中去,每次更新完部件
后调用UG_MODL_SAVE保存,然后进行计算。而初始化只进行一次,这样的
效率较高。
当然进行prt文件参数化的方法很多,有直接调用UF_MODL_edit_exp
更新表达式,然后UF_MODL_update更新模型,最后UG_MODL_SAVE保存
模型;还有是重写exp文件,更新表达式。第一种对编程要求较高;
第二种方式则有傻瓜式的编译生成UG_update.exe,然后批处理更新
模型,isight软件好像提供一个叫UG_update.exe,每次重新初始化
API,然后更新关闭,慢的一比;还有一种则是将优化算法和ug open api集成
,ug初始化一次。
很多人找这个UG_update.exe,这里我就写一个
简单的UG_update.exe。(如果想在ANSYS优化中使用UG,本人愚钝,无法
导入PRT文件,好像需要转换层x_t格式,ug api有)。
使用方法:
1.调用语句:简单的--》system("UG_update.exe you.prt you.exp");
复杂的--》createprocess(...)
2.其中you.prt是你的prt文件每次;you.exp是你的exp文件名称。
UG_update.exe代码如下:
#include <iostream>
#include <string>
#include <uf.h>
#include <uf_modl.h>
#include <uf_part.h>
#include <uf_modl_expressions.h>
using namespace std;
//write by san ,nuaa 202,2011.11.13
// visualsan@yahoo.cn
//引入lib文件,因人而异
<