logo资料库

NX CAM 二次开发方法总结.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
NX CAM 二次开发方法总结 目前 CAD/CAM 集成系统数控编程是指以待加工零件 CAD 模型为基础,生成机床可以识 别的 NC 程序并实现加工过程仿真的相关技术。当初次接触 CAM 二次开发时有太多不解, 但通过参与东风模具的 CAM 二次开发后,我已基本掌握了 CAM 编程开发。现在跟大家分享 一下我的开发方法。 一、 熟练操作 NX 中的 CAM 编程。 步骤如下: 第一步:由编程部门在 NX 的加工环境中对三维实体造型进行分析,然后生成几何组, 最后修改相应的几何视图、程序视图等。 第二步:关联相应的加工模板,自动生成对应的几何操作。 第三步:生成刀具路径,以及加工用的正视图和轴测图 第四步:对编程内容进行校对,然后进行后处理,生成 NC 代码。 第五步:发布 NC 程序,下发到车间进行机床加工。 以上就是 CAM 编程过程,我们需要通过手动操作每一步来熟悉 CAM 编程的整个过程,同时 必须认清 CAM 编程中所用的对象,比如 MCS、工件、组、程序视图、几何视图、NC 操作以 及刀具对象等。 二、 分析 UF 函数的定义规则 在 NX 的低版本的 CAM 二次开发中主要使用 NX 提供一系列的 3000 个函数和过程的集 合。这些函数可实现对模型文件及相关模型的操作、界面交互、创建并管理自定义对象等。 它们在 NX 主目录的 UGOPEN 子目录中,同时包含 UF 函数的头文件、静态库文件(libufun.lib、 libugopenint.lib)以及示例程序。下面将简要的介绍一下 CAM 相关的文件名以及函数定义规 则。 1、与CAM 编程相关的文件名及描述: 1) UF_CAM.H 使用 UF_CAM 模块的相关类型和函数定义; 2) UF.H 3) UF_CSYS.H API 的公共类型和函数定义; 坐标系的操作函数与类型说明; 4) UF_NCGROUP.H 与程序组相关的函数定义; 5) UF_PARAM.H 与对象参数相关的函数定义;
6) UF_OBJECT_TYPES.H 对象类型和子类型的函数定义; 7) UF_OBJ.H 8) UF_UI.H 9) UF_VEC.H 对象的操作函数定义; 用户界面功能的相应函数及结构定义;; 向量的操作函数; 10) UF_PARAM_INDICES.H 与 CAM 相关的参数对象定义 2、函数定义规则: 格式:UF_[area]_[name] UF_是 USER Function 的简写,表示该函数为 UG OPEN API 函数。 [area]表示应用或模块的简写。例如:NCGROUP、MODL 模块等。 [name]表示动词和名词。例如 UF_NCGROUP_CREATE()为创建程序组,几何组的函数。 3、参数定义规则: 格式:UF_NCGROUP_CREATE([返回数据类型] [函数名](变量列表)) 其中函数中的变量定义为如下三种: “I” 表示函数的输入变量 “O” 表示函数的输出变量 “OF” 表示函数的输出变量,但程序员必须使用 UG OPEN API 中的接口释放内存。例 如:UF_FREE(),UF_FREE_STRING()等 三、 查询有用的 UF 函数方法 在 CAM 开发过程中,程序员最难的是不知道该使用哪个函数来实现相应的功能, 目前总结以下方法可以帮助快速查找相应的函数。 1、熟悉UG OPEN API中的CAM相关的函数方法: 在 NX 主目录的 UGOPEN 子目录中,根据分析 UF 函数的定义规则中的文件名,将 其中所有文件名看一遍,然后根据 UF 函数的定义规则,找到与 CAM 相关的文件。 1) 将 NX 环境设置英文模式,首先打开系统环境变量设置,找到“UGII_LANG”节 点,将值“simpl_chinese”修改其他任意值后,重启 NX 应用程序。 2) 进入 NX 的加工环境,并进行 CAM 编程,在编程过程中会发现很多英文命令, 现在可以根据英文命令到 UF 函数中进行查找,看这些命令属于哪个模块,并
将这些命令与模块的对于关系记录下来。 3) 重复以上操作,可以大致了解每个命令与 UF 函数中的对应关系。 4) 最后根据记录内容,找到对应 UF 函数模块并仔细研读,并理解每个 UF 模块的 作用。 2、查询合适的函数并实现相应功能方法: 熟悉 UG OPEN API 中的 CAM 相关的函数后,现在可根据需求到 UF 函数中查找所需 的函数方法。比如:需要获取 CAM 中刀具的直径参数。经分析,可知刀具直径参 数的值应该从 UF_PARAM 模块中查找。由于访问刀具的直径参数,可知应查找含 ask 关键字的方法,通过以上查询条件可查询出一系列相关的函数: int UF_PARAM_ask_double_value(tag_t param_tag, int param_index, double * value ) int UF_PARAM_ask_int_value(tag_t param_tag,int param_index, int * value ) int UF_PARAM_ask_str_value(tag_t param_tag,int param_index, char value [100] ) int UF_PARAM_ask_tag_value (tag_t param_tag, int param_index,tag_t * value ) 由于直径是数值类型且应该是浮点型,所以可使用 UF_PARAM_ask_double_value 函数获取刀具直径的值。但在输入参数时,发现 param_index 不知应该输入何值。 通过近一步分析,可发现应该从 uf_param_indices.h中查询参数定义,通过对以 上方法逐一查询,最终找到了此参数定义的宏。 #define UF_PARAM_TL_DIAMETER 1000 目前参数已经找到,现在就可通过 UF_PARAM_ask_double_value 函数获取刀具的直 径参数了,如果需要再次获取类似的参数值时,可参照以上方法进行分析并实现。 四、 部分关键函数整理 1、int UF_UI_select_single 使用非模态方式选择NX加工环境中的对象。 2、int UF_PARAM_ask_tag_value 获取对象类型的参数值。 3、UF_CAM_ask_clear_plane_data 获取安全平面位置。 4、UF_CAM_set_clear_plane_data 设置安排平面位置。 5、UF_CAMGEOM_append_items 追加几何组对象。 6、UF_OPER_ask_program_group 访问操作对于的程序组。 7、UF_ask_application_module 访问NX环境中的工作模式。 8、UF_CSYS_create_csys 创建加工坐标系。 9、UF_OBJ_delete_object 删除对象。
10、 UF_DISP_set_highlight 设置对象高亮显示。 11、 UF_DISP_create_image 截图(轴视图和正视图) 12、 UF_UI_ONT_refresh 刷新。 以上就是本次参与东风模具 CAM 二次开发后,对 CAM 二次开发方法的进行的总结,若有对 CAM 二次开发感兴趣的同事,我们可以一起讨论。
分享到:
收藏