30 Mar 2015

ICEM转换UG几何体再探

收藏到CSDN网摘



以前写过一个命令行调用ICEM的帖子,谈到了ICEM在batch mode下转换UG几何体的方法,可以借用中间rpl文件,使用icemcfd.bat来调用;或者抛开rpl和icemcfd.bat直接写一个bat文件来调用ug_run_script.cmd.其中后者有2个好处:
第一:避免生成中间步骤的rpl文件;第二:可以选择通过层(layer)转换,或者通过名称(name)转换.具体跟调用cmd文件的参数有关系.

其中ug_run_script.cmd的路径在ANSYS Inc\\VERSION\\icemcfd\\win64_amd\\dif\\ug\\bin下(其中VERSION是对应ICEM的版本号),而转换参数所需的2个tcl文件都在ANSYS Inc\\VERSION\\icemcfd\\win64_amd\\dif\\ug\\lib\\ug下,一个叫ug_levels_to_tin.tcl,另一个叫ug_names_to_tin.tcl.
在这个文件夹下还能看到一些文件夹,命令类似ug##_vendor_dir,其中##代表两位数字,对应NX7与NX7.5的数字为25,具体对应关系可参考UG/NX命名规则.如果缺少对应的文件夹,复制一份,重命名与NX版本对应,大多数时候也可以.

下面具体说说ug_run_script.cmd这个批处理文件.
第一步:
1.1 检测ICEM安装是否正确.具体方法是测试ICEM_ACN这个环境变量.如果不为空,继续检测ICEM_ACN\\bin\\icemcfd.bat批处理是否存在.如果不存在,则显示错误信息后退出运行.否则添加ICEM_ACN\\bin到环境变量path.由于这是在批处理中修改,所以是临时改变.运行结束退出批处理后,不会对环境变量造成影响.

第二步:
2.1 检测UG安装是否正确.具体方法是测试UGII_BASE_DIR这个环境变量.如果不为空,继续检测UGII_BASE_DIR\\UGII\ugii.bat批处理是否存在.如果不存在,显示错误信息后退出运行.否则添加UGII_BASE_DIR\\UGII到path环境变量(临时修改).同时新增一个变量ICUG_ROOT_DIR为UGII_BASE_DIR\\ugii.

2.2 继续检测UG版本号.具体方法是运行env_print.exe -v命令(在UGII_BASE_DIR\\UGII下,但是由于2.1已经添加到path,所以可以直接调用).其返回值类似V25.5.5.4.截取V与.之间的数字(25)作为主版本号,并设置UG_MAJOR_VERSION变量.为了下一步(3.1)说明方便,记为##.

第三步:
3.1 检测UG与ICEM的接口安装是否正确.具体方法是测试ICEMIF_ACN环境变量.如果不存在,利用上面第一步测试过的ICEM_ACN构造ICEMIF_ACN = ICEMACN\\dif\\ug.然后继续利用第二步获得的信息构造UGII_VENDOR_DIR = ICEMIF_ACN\\lib\\ug\\ug##_vendor_dir,并设置UG_WISH_EXE变量为UG_VENDOR_DIR\\application\\ug_wish.exe.如果此exe文件不存在,显示错误信息并退出运行.否则继续.

第四步:
4.1 检测TCL库是否正确安装.具体方法是设置TCL_LIBRARY=ICEM_ACN\\lib\\tcl8.3.3(这个版本号可能根据安装ICEM的版本不同而不同),然后测试TCL_LIBRARY\\init.tcl文件是否存在.如果不存在,报错退出,否则继续.

第五步:
5.1 到此所有的环境变量测试已经结束,直接运行UG_WISH.exe来转换.

注:经测试,如果试图直接运行ug_wish.exe会报错libufun.dll文件未找到.

No comments :

Post a Comment