多焊接件大型装配体的数字化设计研究*

2019-04-08 05:36胡晓兵霍云亮
组合机床与自动化加工技术 2019年3期
关键词:升船机界面模板

胡晓兵,田 昆,霍云亮,邓 希

(四川大学 制造科学与工程学院,成都 610065)

0 引言

工程实际中,多焊接件大型装配体存在一些共性:规格上属于大型或超大型件;承载量巨大且安全性能要求严格;零部件众多且装配关系繁杂等。以升船机主提升机构作为多焊接件大型装配体的研究对象,通过搭建数字化设计平台,实现依据客户或合同信息的录入自动进行各零部件的选型与装配体的驱动。从升船机主提升机构的设计特点出发,采用自上而下的模块划分设计方法将繁多的零部件进行分门别类有序管理,基于Inventor[1]三维软件的二次开发技术以Visual Studio集成开发环境[2]为平台,对主提升机构各模块进行参数化设计;同时依据模块的划分建立主提升机构各零部件的模型模板库,应用SQL Sever数据库管理系统[3]对模板库零部件信息及各参数关联信息进行有序高效管理;基于Inventor API技术、ADO.NET技术及COM开发组件等技术实现开发环境、三维软件及数据库的互联互通,打造出高效易操作的数字化软件系统。以此可显著提高多焊接件大型装配体的生产设计效率,大幅减小生产制造周期,合理选择钢材用量,降低生产制造成本,多方面提高制造企业竞争力。

1 数字化设计关键技术研究

1.1 基于Inventor的参数化建模

参数化设计实质上是在可变参数变动的情况下,平台可自动维护不变参数,即体现出工程人员设计意图。基于Inventor进行参数化建模有三种功能特点:基于特征、全尺寸约束、尺寸驱动。

基于特征,通过将显著的几何形状定义为特征,全部尺寸作为可调参数,从而生成实体。此方法主要用于复杂件的建模,比如航空用涡轮涡扇的建模,它能够传达产品完整的形状及工程信息,同时,复杂度高也是其弊端;全尺寸约束同时考虑到尺寸、形状两因素,由尺寸约束控制几何形状,全尺寸约束要求不能欠约束、漏约束,通过尺寸及形位的约束方式将几何形状锁定起来,有利于解决自由建模的无约束问题;尺寸驱动,通过改变某些尺寸参数,引起所有相关参数的变化,从而驱动几何形状的更新变化,由于缺少模型间的几何约束关系,故此方法仅可改变模型尺寸的大小,不能变更元素间的约束关系。

针对主提升机构的设计流程特点,本文基于Inventor二次开发技术[4],采用自上而下设计分类中的布局法,先定义总体布局草图并确定图块之间的装配关系,然后把结构形状及主要参数传达与零件,最后汇总成装配体。由于总体布局图已设定模型间的坐标系几何约束,故在参数化建模过程中,可采用尺寸驱动法建模,通过在模板库中搜寻到同型零部件,程序通过inventor API函数[5]将同名参数的值赋值到用户参数进而修改模型尺寸,从而生成新的零部件[6]。

1.2 基于COM的开发组件

Inventor二次开发的过程是一个外部应用程序访问控制Inventor的内部应用程序。这两个应用程序间的互通对话是通过基于COM技术开发出的一系列组件实现的[7]。COM(Component Object Model)即组件对象模型,是微软推出的旨在更好服务于客服/服务器的软件开发技术[8-9]。基于COM的框架,可开发出多种具有明确功能的组件,针对Inventor二次开发的特点,可应用Add-In(插件)、Standalone EXE和Apprentice Server(学徒服务器)3种组件方式,各组件与Inventor的关系如图1所示。

图1 基于COM组件的Inventor开发框图

Add-In既可作为服务器,也可当做客户端,具有两种运作形式,一种作为进程内组件,以dll形式存储,在inventor运行时与之处于同一个进程,故有高的运行效率,然而,由于同处一个进程,这种插件的稳定性会影响到inventor平台的运作。第二种是以EXE形式存在的进程外组件,运行在独立于inventor的处理空间中。Standalone EXE(独立的EXE)为可独立运行的进程外组件,当执行该程序时,inventor自动启动并创建相应文档,但该程序的运行效率低于作为程序内组件的dll。Apprentice Server(学徒服务器),属于ActiveX服务器的一种,外部应用程序通过它可访问inventor的数据,其优势在于可获取inventor的完整文档信息。由于运行时处于用户自己的程序内,且没有自己的操作窗口界面,故运行的效率较高。

1.3 Inventor API

Inventor API(应用程序编程接口)是二次开发程序与软件内部程序链接的通道,通过它可将新的开发功能无缝集成到现有功能上,任何支持对象嵌入与链接的编程工具,如Visual C#.NET、Visual C++、VBA、Dephi等,均可使用该通道对Inventor进行二次开发,开发方式即上节所述基于COM技术开发的三个组件,Inventor API向用户提供了Inventor的所有对象及其内在属性和方法,用户通过对这些对象的属性及方法的操作来实现定制功能。

因此,调用Inventor API就是指调用Inventor对象的属性、方法及相关功能,Inventor API对象间存在一种自上而下的包含关系,如图2所示,当对下层对象进行调用时,必须先从其上一层对象的调用开始,由图知应用程序(Application)处于最顶层,故调用其他对象必须由此开始,不可跨越层级进行,因为上一层级包含了下一层级的属性和方法,下一层级并不是对上一层级的继承,跨越层级调用会导致程序出错。

图2 Inventor API对象关系图

1.4 SQL Sever数据库相关技术

升船机主提升系统含有大量的零部件,将零部件数据独立出CAD系统可大大提高设计效率,有利于不同的应用程序借助同一数据库进行数据信息的交流。本文采用关系型数据库管理系统SQL Sever进行数据管理[10]。在升船机主提升系统数字化设计过程中需要达到C#程序、Inventor与SQL Sever数据库的互联,采用Visual Studio开发平台中集成的ADO(ActiveX Data Objects).NET[11]作为连接通道,以便对SQL Sever数据库访问。ADO.NET这一面向对象的编程接口,它使数据的访问具有多平台相互操作性及可伸缩性,其具体结构如图3所示。

图3 ADO.NET结构

ADO.NET使用多个对象对数据库进行访问,如图3所示,连接对象的作用是连接数据库的数据源,也是第一个与数据库交互的对象;命令对象用于操作数据库,可创建SQL命令;数据阅读器为ADO.NET中的“快捷键”对象,可从数据库中快速读取只读数据且每次仅读取一行记录,减少了系统开销,有利于增强应用程序性能;数据集对象为ADO.NET的核心部分,ADO.NET从数据库中获取的数据存放在数据集中并以XML的格式存在,XML文档可导入、导出数据集,使跨越平台交流成为可能,具有独立于各数据源、可以离线形式操作数据库中数据的突出特点;数据适配器主要起到连接数据存储与DataSet的作用。

2 主提升机构数字化设计总体规划

2.1 系统开发概述

升船机主提升系统数字化设计是一个耦合工程人员设计思想、CAD技术、语言编程及数据库访问技术为一体的互联互通系统,系统最终可达到根据输入的一些主要参数高效快速地生成整套升船机主提升系统三维模型及详细的数据信息。

系统基于工程人员的设计思想,使用人机交互模式,使用户根据逐层次的提示,在计算机上进行全部设计工作。使整个操作流程尽可能达到:具有简洁、逻辑清晰的操作界面;菜单、按钮工具栏的命名言简意赅;对螺母、垫圈、轴承、联轴器等标准件无需建立参数,可在标准件库选择标号调用;建立卷筒、制动盘、钢丝绳、电机等机构的数据库,便于驱动程序的快速调用;建立具有清晰层次的模板库,紧密配合数据库各零部件属性信息;出具详细说明书便于系统后期维护及开发。

2.2 升船机主提升机构模块划分

升船机主提升机构是零部件众多、结构复杂的装配体,在数字化设计过程中每一步骤都紧密联系编程语言的复杂程度,关系到整个系统开发的逻辑性、层次性及难易程度。对升船机主提升机构进行模块划分[12],使其不仅切合设计人员的设计思路,同时满足系统开发过程中的逻辑性、层次性的需求,是保证升船机主提升机构数字化设计顺利进行的重要前提。

对复杂装配体进行模块化划分,应综合考虑其结构特点及功能作用对其进行分级划分。结构特点上,多个单一零件组成组件,多个组件组成一套装配体;功能作用上,整体功能由多个子功能有机耦合而成,子功能又是多个单一功能的综合。从而基于结构特点及功能作用的共性逻辑对装配体进行树状结构的模块划分。

基于上述思想,将升船机主提升机构划分为8大模块:卷筒组、钢丝绳模块、减速器模块、电机组、滑轮组、制动器模块、联轴器模块及标准件。模块划分具体信息如图4所示。

图4 升船机主提升机构模块划分

2.3 系统功能逻辑总规划

升船机主提升系统数字化设计在功能逻辑层面上采用客户端/服务器(C/S)[13]的开发模式,即分布式的计算机处理模式,如图5所示,以数据库服务器程序为核心的服务器启动后,就处于一种响应状态,随时根据客户程序的请求做出回应。这种功能逻辑结构有以下优点:一是可使任务的执行有序分摊到客户端及服务器之上,客户端提交请求,服务器做出响应返回结果;二是数据库服务器可独立存在、集中管理,客户端根据需求使用SQL语句访问数据,使得数据库可独立于客户端程序,具有灵活的可移植性。

图5 客户端/服务器开发模式

基于C/S开发模式,升船机主提升机构的数字化设计主要由客户层和数据层构成。客户层主要完成模型驱动、信息管理及参数计算。其中模型驱动部分主要完成升船机主提升机构的三维模型驱动生成,其主要参数依据合同信息输入;信息管理及参数计算部分主要完成升船机主提升机构各模块主要参数的输入及相关联参数的计算、总体布局模板库及零部件模板库的管理。数据层主要用于对各模块相应数据信息进行存储。系统的功能逻辑如图6所示。

图6 系统功能逻辑图

用户界面模块:此模块可提供人机交互的界面,便于数据库管理、各模块主要参数设计及其他需要用户给出的数据。用户界面设计采用了Inventor自带的Inventor IStyler和Visual Studio界面耦合的编程技术,利用MFC类与Inventor API相关技术,达到了数据库、客户端之间的融合。

参数计算模块:此模块是数字化设计核心内容之一,根据用户界面传递的用户参数(合同参数),基于各零部件的参数关联及相关准则进行驱动参数的计算,为驱动模型的生成提供数据支持。

模型驱动模块:该模块亦是数字化设计核心内容之一,客户应用程序在Inventor API和ADO.NET等技术支撑下,从数据库获取相应参数并返回给Inventor IStyler界面,同时参数又传递到模型驱动程序,进而驱动模型生成。

2.4 系统运行框架

升船机主提升机构数字化设计的功能逻辑结构的确定,明确了数字化开发设计的逻辑思想,指明了开发方向。下一步基于此思想进行系统运行框架的搭建,使各开发层次间有明确的运行步骤,保证数字化设计系统有序高效地运行。

首先,根据客户(合同书)提供的主要参数信息确定总体布局形式,同时检索以往项目中是否有同型实例可用,若有,则可直接借用,否则进行参数化设计;其次,根据总体布局及主要参数信息确定各划分模块的数据信息,并依据参数关联方程计算出零部件其他尺寸参数;再次,基于各参数的信息选取零部件模板,并将此作为所求新模型的驱动基础;最后,基于具体的参数信息,客户端通过程序驱动各模板生成所需的零部件,并按照总体布局形式完成替换装配。系统的运行框架如图7所示。

图7 系统运行框架图

3 数字化设计系统的开发与实现

3.1 系统结构体系布局

数字化系统的开发目标是根据用户(合同书)主要参数,通过人机交互界面,实现模型实体的自动生成,得到所需的产品。依据上节数字化设计系统的功能逻辑框架与运行框架原理,开发数字化设计软件平台。软件体系结构简图如图8所示。

图8 软件结构体系

系统软件界面按钮部分:负责在Visual Studio 2015集成开发环境中加载进合同信息、结构形式、总体布局方案及各模块零部件参数化界面的按钮,该功能通过Add-In插件的方式,以菜单栏和工具条的形式加载。

数据库部分:依据模块划分的层次录入各模块零部件基础数据信息,为第三方软件提供数据的读取、存储、删除等交流功能,是模型参数化驱动的数据基础。

靶向模板部分:某模块零部件型号选定后,根据数据库里此零部件基础数据信息,在模板库里找到相应的同型号模板并打开。

模型驱动部分:通过数据库获取各模块零部件参数并基于关联参数的对应关系,将其赋予靶向模板,利用Inventor的实体造型部分,驱动模板生成新的模型并命名及存储。

以Visual Studio 2015集成开发环境作为软件开发平台,采用C#语言进行应用程序的编写,通过Inventor API技术与Inventor内部程序进行交流,通过ADO.NET技术访问数据库信息,最终实现升船机主提升机构数字化设计系统的开发。

3.2 模板库及数据库的建立示例

模板库是系统驱动模型生成的基础源头,与升船机主提升机构各模块的零部件一一对应,建立零部件所有类型的模板,使数据库读取的参数信息能对应到相应模板上,从而保证模型驱动的顺利进行[14]。这一过程工作量庞大且程序复杂,对每个零部件的建模应确定明确的关键几何参数与非关键几何参数,并建立二者间的对应关系,使关键几何参数的改变带动非关键几何参数的相应改变,这一过程完成后要通过实际改变关键几何参数去验证,保证模板库对应的准确性[15]。以卷筒为例说明零件模板库建立的注意事项:卷筒组因提升绳、平衡绳的数量不同划分为三提升绳卷筒及四提升绳卷筒两大类,尽管提升绳的数量可用同一参数进行表示,但每类模型压板孔的定位尺寸很难确定,导致参数化实施困难。故将三提升绳卷筒及四提升绳卷筒划分为两类模板,使其容易选型及正确参数化建模,为模型力学分析的无缝衔接带来方便。

升船机主提升机构数字化设计采用SQL Sever作为各模块零部件的数据库管理系统,为前台程序参数的传递及后台模型尺寸的驱动提供数据支持。SQL Sever数据库管理系统具有支持多客户访问的编程接口,客户不仅可对其中数据进行访问,还可对数据进行查询、删除及插入等编辑操作,具有良好的图形用户界面,方便数据的可视化管理。升船机主提升机构具有繁多的零部件数据信息,在Inventor二次开发过程中将数据信息独立出来进行分类分层次管理并借助SQL Sever数据库管理系统的强大功能,可实现数据的高效利用,便于数据的即时管理。

升船机主提升机构含有卷筒组、钢丝绳模块、减速器模块、电机组、滑轮组、制动器模块、联轴器模块及其他标件八大模块,不同模块下的同一零件含有多种系列,在数据库中对应每种系列均需建立一张数据表。以自动盘模块的各系列为例展示SQL Sever数据模型树及数据表明细如图9所示。

图9 SQL Sever中制动盘模块系列型号

3.3 系统入口界面实现

打开Visual Studio 2015集成开发环境下编写的应用程序,如图10所示,展示的是快速设计系统功能下的应用程序界面,同样地在卷筒计算、SQL_search、参数化与装配功能模块下也对应着完整的开发程序。点击启动,则开始执行设计程序,如图所示,首先进入登录界面,设置此界面是保证信息安全性的基础条件之一,只有在正确的用户名及密码输入的情况下才可继续执行程序进入设计界面。

图10 系统入口界面

登录成功后方可开始新项目的设计,按照开发人员习惯性设计流程,在设计前需确定下来新项目的名称、产品编号、设计部门、参与人员、交付单位等明细,并设置项目存储路径以便于项目的进一步管理,如图11所示,为保证必要信息的填写完整,设定了约束提醒,信息填写完备方可进入下一步流程。

图11 新项目录入界面

3.4 系统数字化设计界面实现

主要参数及结构总布局界面的实现:上节中,项目明细界面预留出了界面跳转按钮“合同信息”,点击后则进入合同信息录入界面,即主参数(合同参数)的输入窗口。如图12左图所示,为方便工程人员有条理性地录入参数,对参数类别进行了界面分层,与相对位置信息有关的参数归为一层次,与载荷信息有关的参数归为另一层次,这一界面所有数据的录入均为合同信息所提供。保存合同信息录入的数据后,界面自动跳转至结构总布局界面,如图12右图所示,此处将卷筒模块、减速器模块、电机组、滑轮组、制动器模块等需求数量或基本形式进行录入,以确定结构基本布局,为接下来各零部件信息的细化及相关参数的计算提供依据。

图12 主要参数录入界面

各模块零部件信息录入及相关参数计算界面:依据升船机主提升机构合同的基本信息及结构布局的设定,进行每一模块的详细信息录入,即确定主要参数和关联参数的计算,各模块以快捷菜单形式集中排列于界面上端,下一模块的信息录入界面会在上一模块录入完成后自动跳转,直至驱动界面。首先进行钢丝绳信息的录入,可根据其直径、材料、最大拉力等多种特性进行选型;其次依次进行电机、减速器、制动器及联轴器的信息录入;再次依据相关信息进行卷筒厚度的计算及选型,并确定滑轮组的动定信息;最后进入驱动界面进行模型驱动前的相对位置信息调整。如图13所示,展示出部分模块信息录入时的界面。

图13 模块信息录入界面

待各模块主要参数信息录入及相关计算完成后,依据自上而下的设计流程进行模型的驱动生成,如图14所示,展示出总布局草图与模型生成的界面。

图14 模型驱动生成界面

4 结论

针对多焊接件大型装配体在生产制造过程中的共性特点,以升船机主提升机构为研究对象,搭建起数字化设计平台,得出:

①自上而下的设计方法及模块分组划分使焊接零部件繁多的升船机主提升机构易于归类有序管理、层次分明;

②焊接零部件模板库的建立工作量大、信息量多,采用SQL Sever数据库管理系统将各模块零部件信息及关联参数信息独立出来统一管理,可正确高效地在驱动端与响应端之间调用;

③在Inventor API技术、COM开发组件技术及ADO.NET技术支撑下可高效灵活地在程序驱动端、软件响应端及客户数据端之间建立互联互通路径;

④升船机主提升机构数字化设计系统可很好地进行运行,以显示化界面为主要信息录入或计算向导,直至驱动模型的生成,体现出系统选型计算及模型驱动的高效性。

猜你喜欢
升船机界面模板
铝模板在高层建筑施工中的应用
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
微重力下两相控温型储液器内气液界面仿真分析
向家坝水电站升船机维护保养研究
Inventors and Inventions
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究
扁平化设计在手机界面中的发展趋势
253艘船舶获乘三峡升船机快速过坝资格