业务合作发布作品

    基于NX的汽车智能紧固件库的研究与开发

    GAF螺丝君头像GAF螺丝君头像
    GAF螺丝君02-28

    文章研究了基于NX建立汽车紧固件库的几种方法, 讨论了各种方法的特点。提出了基于知识工程 (KBE) 的智能选型装配技术。以NX系统为平台, 开发了基于知识工程 (KBE) 的汽车智能紧固件库, 实现了紧固件快速智能选型、智能成组装配、对手件自动筛选以及输出紧固件信息等功能, 使汽车的设计效率较之以前大大提高。

    在汽车设计过程中需要用到大量的紧固件, 紧固件的作用是紧固连接机械零件, 其应用非常广泛, 它的特点是品种规格繁多, 性能用途各异, 而且产品标准化、系列化程度高。

    现有的紧固件库的使用过程比较复杂, 工作量大, 主要存在以下弊端:

    (1) 紧固件模型存储在服务器中, 装配时需逐级查找, 选型困难;

    (2) 在NX中装配定位繁琐, 需要先建立定位点及定位方向, 操作复杂;

    (3) 紧固件不能成组装配, 需要逐个装配, 操作繁琐, 效率低下;

    (4) 紧固件的属性信息需要人工输出, 经常需要查询相关标准或机械设计手册, 不方便企业常用紧固件知识的累积和传递;

    (5) 装配对手件时, 需要查找对手件型号及信息, 进行繁复的操作;

    (6) 负责零件设计工程师基于CAD系统设计零件, 紧固件工程师主要的工作系统是紧固件管理系统。零件设计工程师在选择紧固件时需要向紧固件工程师咨询, 设计结束后也需要向紧固件工程师查询紧固件基本信息, 工作效率低。

    本文研究了紧固件筛选规则及智能装配等技术, 实现符合工程师使用习惯的选型和智能装配功能, 利用数据库技术和参数化建模技术, 通过二次开发, 在NX环境下开发了紧固件库系统。


    一、基于NX的紧固件库的开发方法


    NX软件的特征建模技术为零部件参数化设计提供了技术基础, NX内嵌的电子表格、表达式、知识熔接模块以及二次开发工具Open API, MenuScript, UIStyler, BlockSytler等为建立基于NX的紧固件库提供了方便。目前, 基于NX的紧固件库常用开发方法主要有:零件族法、用户自定义特征法、知识熔接法、程序设计法。

    在筛选逻辑及数据库方面, 程序设计法能实现复杂的筛选逻辑及数据库处理, 而其他3种方法则只能实现简单的数据库筛选;在使用方便性方面, 零件家族法、用户自定义特征法都要借助于NX的表达式和电子表格以及标准手册来对参数进行修改, 以生成该系列其它的标准件, 而知识熔接法、程序设计法在调入时就可选择所需的标准件, 因而更加方便、实用;在智能化方面, 程序设计法可以按照工程师实际需求进行定制化、智能化开发, 而其他3种方法无法满足要求。

    综合比较以上建库方法, 考虑到紧固件库系统的要求, 本文采用程序设计的方法。这样可以发挥程序设计在数据管理、智能化开发和用户交互界面定制化开发方面的优势。


    二、系统结构及组成


    操作界面包括菜单和对话框, 主要作用是管理紧固件库所有的对话框以及对话框相关的图片, 通过对话框连接筛选模块、属性处理、紧固件生成及智能定位模块。

    图1 系统结构图

    紧固件筛选模块的主要功能是读取紧固件数据库, 按数据的逻辑关系传递给对话框界面, 初始化筛选功能区;根据工程师的选择及筛选逻辑, 快速的筛选出符合要求的紧固件型号, 供工程师选择。

    对手件筛选模块的主要功能是读取对手件数据库, 根据用户筛选的紧固件信息, 在对手件数据库中筛选出符合要求的对手件型号及相关信息, 写入对手件选择列表, 供用户选择。

    紧固件生成模块通过配置数据库查找到相应的紧固件模板文件, 程序驱动模板进行参数化修改, 生成符合尺寸要求的紧固件模型。

    智能定位模块通过工程师选择的定位边界, 自动整理成一系列的封闭定位环, 求解定位点和坐标系, 实现智能定位, 成组装配。

    紧固件智能选型库与紧固件数据库互通互联, 紧固件智能选型库的数据来源于紧固件库。紧固件工程师基于紧固件库工作, 维护紧固件基本信息。零件设计工程师基于CAD系统工作, 通过紧固件智能选型系统, 智能选择需要的紧固件。


    三、关键技术


    3.1 紧固件筛选

    由于紧固件品种规格繁多, 工程师选型困难, 本文研究并实现了方便快捷的多级紧固件筛选功能。筛选功能流程如图2所示:

    图2 筛选流程图

    读取紧固件数据库并初始化筛选区域:通过数据库技术, 将紧固件数据库读入程序中, 将界面初始化。

    选择筛选条件:筛选条件包含“科室”、“组”、“整车结构分类”、“零件分类”和“功能分类”5级下拉列表, 工程师选择下拉列表的选项, 程序将根据用户当前及前几级下拉列表选择的筛选出符合紧固件数据库要求的筛选条件, 并更新后面几级的下拉列表的选项。用户全部选择完成后, 在基本信息列表中列出筛选结果, 如图3所示。

    图3 筛选操作界面

    通过功能分类描述进一步筛选:根据工程师输入的功能分类描述检索关键字, 在基本信息列表中的功能分类描述列进行模糊查找, 将不符合检索要求的列去除。

    根据用户在基本信息列表中的选择, 在紧固件数据库中筛选符合要求的紧固件型号, 并读取相关属性, 写入紧固件型号列表中, 供工程师选择。


    3.2 智能定位模块

    工程师在进行紧固件定位时, 需要定位的位置有多种可能性, 如图4所示, 人工操作NX进行定位非常复杂, 需要根据的不同的定位环来计算并生成定位点及定位方向。本模块设计并实现了通过选择多段边界, 就可以由程序整理成定位环并自动定位。

    图4 装配环示意图

    智能定位模块流程如图5所示:

    图5 智能定位模块流程图

    边界链表的存储:将工程师所选的边界存储在std::vector<NXOpen::TaggedObject*>的链表中。

    整理边界形成定位环:链表中有N个边界, 对链表中第i (0, N-1) 个边界写入边界环的结构体, 对后面的边界j (i+1, N) 进行循环遍历, 判断边界j的起点或终点是否和边界i的起点或终点重合, 若重合则将边界写入边界环的结构体。通过UF_MODL_ask_edge_verts () 函数, 读取边界的起点和终点。如果边界i的端点只有一个则是圆环边界或者椭圆环边界, 直接写入边界环结构体, 进入下一边界环的循环。

    计算定位点及定位坐标系:通过边界环结构体中边界的数量和边界的类型, 判断边界环的类型。对圆形和椭圆形边界环通过UF_CURVE_ask_curve_struct_data () 函数读取圆心, 作为定位点。读取圆环或椭圆环的相接面中的平面, 计算出定位方向。对于矩形环、腰形环、六边形环和带圆角的矩形环, 对其所有边界的两个端点求和取平均值, 得到定位点;用所有边界的公共相交平面, 计算出定位方向。

    装入紧固件并进行定位:通过UF_ASSEM_add_part_to_assembly () 函数, 将紧固件模型定位到当前工作部件中。


    3.3 对手件选型模块

    整车零件设计由多部门协同完成, 紧固件设计时通常由连接双方协同完成。以座椅和下车体为例, 座椅设计工程师负责发布螺栓, 下车体设计工程师负责发布螺母。之前的工作操作复杂, 座椅工程师需要线下通知下车体工程师。初始设计或设计变更时经常出现沟通不畅引起的设计不一致。

    本模块设计了对手件推荐模块。通过与紧固件数据库互通互联, 零件设计时, 基于紧固件数据库将对手件紧固件同步设计。


    四、实 例


    应用MenuScript技术, 添加“Vehicle Fastening”菜单到NX中, 菜单如图6所示。

    图6 紧固件库菜单

    应用BlockStyle和NX Open技术, 开发了紧固件库工具, 紧固件库操作界面如图7所示:

    图7 紧固件库操作界面

    操作界面包含由以下几个功能区域组成:紧固件筛选及选择、对手件选择、紧固件属性信息和定位边界选择。

    紧固件筛选及选择区域包含“基本信息筛选”、“功能描述检索”、“整车结构分类、零件分类和功能描述组合列表”、“紧固件列表”;紧固件属性信息区域包含BOM信息列表和紧固件属性信息列表;模型导入区域包含选择紧固件装配环和选择对手件装配环。

    导入紧固件如图8所示:

    图8 紧固件导入结果

    信息输出如图9所示:

    图9 信息输出


    五、结 论


    本文研究了基于NX软件建立紧固库的几种方法;提出了基于智能定位的成组装配技术;采用BlockStyle和NX Open技术, 开发了紧固件库工具;实现了符合工程师设计习惯的快速筛选和智能定位功能, 通过属性输出功能使得工程师可以快速得到紧固件的属性信息。经工程师测评, 在紧固件设计方面, 使用本紧固件库使设计效率较之以前大大提高。

    今天的话题,就分享到这里,不当之处,欢迎批评指正;若您有任何疑问或建议,或需要进群交流的小伙伴,可关注螺丝君WX公众号:GAF螺丝君(GAF-luosijun)

    次阅读
    评论
    赞同
    收藏
    分享
    评论
    赞同
    收藏
    分享

    评论·0

    头像头像
    提交评论
      加载中…

      热门资讯