APP下载

非标准设备参数化三维设计二次开发初探

2018-03-30杨晓亮张长奎

科技创新与应用 2018年9期
关键词:三维设计参数化二次开发

杨晓亮 张长奎

摘 要:文章针对目前非标准设备中手套箱设计复杂、效率低的状况,探究基于Inventor API接口技术,通过二次开发实现手套箱快速参数化三维设计。通过原理与思路分析,结合手套箱设计流程,完成参数化建模开发和设计界面定制;结合标准零部件调用和自动装配技术,最终实现基于参数化设计界面的手套箱三维设计和自动装配。

关键词:设备设计;参数化;二次开发;三维设计;自动装配

中图分类号:TM623.1 文献标志码:A 文章编号:2095-2945(2018)09-0138-03

Abstract: Aiming at the complex and low efficiency of glove box design in non-standard equipment at present, this paper explores how to realize the rapid parameterized 3D design of glove box by secondary development based on Inventor API interface technology. Through the analysis of principle and train of thought, and according to the design flow of glove box, the parametric modeling development and interface customization are completed; with standard parts transfer and automatic assembly technology, the 3D design and automatic assembly of glove box based on parameterized design interface are finally realized.

Keywords: equipment design; parameterization; secondary development; 3D design; automatic assembly

引言

當前,设备设计已摆脱二维平面CAD设计模式,采用更有效率的三维设备设计平台进行方案设计、设备零部件设计、设备装配和平面出图。手套箱作为我单位在工程设计中常用的非标准设备,由于结构复杂、零部件较多,且各工程项目需求不同,手套箱设备设计复用率极低。在项目周期和进度要求下,手套箱设计成为制约任务进度的主要因素,常需要投入大量人力和时间来完成。在引入和利用设备三维设计平台(Autodesk Inventor)进行手套箱三维设计时,各项目的零部件建模、装配添加等工作仍需要按项目方案进行重新设计,设计周期和人力投入较二维设计提高不明显;同时,设计工序比较复杂,容易出现参数错误或者遗漏,造成二次修改并延误工期;进而影响工程建设整体进度。手套箱设计迫切需要一种快速、准确的三维设计模式,来提高设计效率和保证质量。手套箱参数化设计可以很好解决这个问题。

Autodesk Inventor设备三维设计平台,秉承Autodesk系列软件开放性传统,不但拥有出色的平面草图绘制功能和强大的三维造型功能,而且还具备二次开发和用户定制方面的接口[1]。本文通过应用Inventor API(Application Pro

gramming Interface)的开发接口,在Inventor平台上进行二次开发,建立参数化的设计架构和交互的设计界面,实现手套箱零部件快速设计和自动装配功能。

1 二次开发原理及思路

1.1 二次开发原理

Inventor具备强大的三维参数化造型功能,可以更好地实现二次开发和定制,开发出适用于本地化计算机辅助设计的相关插件,该软件提供了强大的二次开发接口Inventor API。通过二次开发,可以实现利用微软的自动化(Automation)技术的高级语言来控制Inventor的各种对象以及相关的属性和方法,进而开发出需要的应用程序。

Inventor API技术由于其面向对象的应用程序编程接口的易学和易用性,适合工程设计人员进行学习和应用;同时,其支持当前主流的高级编程语言。基于以上因素考虑,手套箱二次开发采用Inventor API技术和C#语言实现。

1.2 二次开发技术思路

本次二次开发的思路,是采用先进的参数化和iMate装配预定义技术,在预先设计好自定义的设计界面上设置需要的关键参数;在设计时输入需要的外形参数,以及通用件型号等,自动生成列表。当创建手套箱模型时,程序自动遍历列表,调用参数,自动创建手套箱草图特征和轮廓特征,最终生成手套箱参数定义的零件,选择通用件并根据预定义iMate装配手套箱模型。

2 参数化设备设计开发

2.1 参数化建模及实现方法

基于COM的API是以功能对象(Objects)形式存在[2];每一个对象都对应Inventor中的一些功能,每个对象都可能有多种的方法、属性和事件;一切对象都是通过对象模型被访问到的,对象模型图就象一个金字塔,最顶层的一个对象叫做Application。基于Inventor的开发接口,根据需要定制功能、操作和优化算法等,实现第三方应用程序和Inventor的交互。

Inventor二次开发的关键在于正确合理的对象的调用。本文用Microsoft Visual Studio 2010为开发环境,根据手套箱参数化设计需要对Inventor进行开发,用C#编程语言,参照Inventor API的对象模型图,对二次开发中的对象、属性、事件等各种参数进行调用,最终实现手套箱参数化设计平台的功能需求。

2.2 开发架构

项目创建时,选择“Autodesk Inventor 2015 AddIn模板”,命名为“Glovebox”,自动生成解决方案。在解决方案资源管理器里面包括各种开发所需的基本的文件。项目开发架构主要包括有以下3部分主要内容:

(1)StandardAddInServer.cs:定义了该Add-In 的入口(即加载点);创建Ribbon用户界面,定义环境界面等;

(2)Autodesk.Glovebox.Inventor.addin:定义了该com对象的相关信息;

(3)Glovebox.X.manifest:定义了该COM 对象的manifest 文件,用于支持side-by-side 的功能,用于组织和描述隔离应用程序及并行组件。

2.3 通用零部件预定义开发

在使用iMate预定义技术之前,要对手套箱模型进行前期处理,即对手套箱通用零部件进行添加iMate预定义[3]。对需要装配的接触面进行参数设置,如配合,对齐,连接等。根据手套箱的实际情况,按照一定规律自定义各个参数类型的名称,以方便在后期程序编写过程中根据规律编写筛选过滤代码、遍历参数和对比装配。

本文在程序中调用通用零部件是通过零部件的名称,直接调用,通过前期的零部件预定义参数添加,实现具体程序调用装配条件。

2.4 開发关键点

Inventor中的接口Application addin Server与COM组件对象的创建和生存期控制关系密切。在开发过程中函数Activate和Deactivate是两个关键的开发点,应特别注意这两个函数的使用方法。

Activate分别在Add-in运行时调用,可以主要进行接口的创建和接口与事件(请求)的连接操作。此外还可以进行菜单和工具条的创建。

Deactivate在Inventor运行结束或是用户关闭add-in组件的时候调用,主要是进行add-in卸载前的一些清理工作,比如Release()的调用等。Deactivate模块是在unload 的情况下调用,最后被清理的对象或指针一般放在这里释放。

3 设计工作界面定制

3.1 界面定制原则

设计工作界面是实现手套箱设计最终交互的媒介,而一个友好的用户界面,能够使设计人员方便快捷地进行产品的设计与研发。手套箱设计工作界面定制原则如下:

(1)通过操作比较简便直观的Ribbon菜单进行界面定制,将新添加的环境放置在原有环境平行位置。

(2)在C#开发时,要按所实现的功能选择合适的控件对象,并合理布局控件对象在窗体中的位置。进行界面定制时,根据手套箱设计特点,通过属性窗口和代码窗口对手套箱属性进行修改。通过把合适的控件按功能需要放到合适的位置并设置属性,可以保留对象设置的属性默认值。

(3)完成手套箱界面的定制后,对于需要与外部信息进行交互的对象,如命令按钮、单/复选按钮、检查框、文本框等,可以在代码窗口中编写程序,以此来告诉控件对象需要响应的事件或者动作。

本文中根据需要手套箱界面由若干参数输入选项卡组成,分别为概述、手套箱体、左端盖、右端盖、箱体标准件配置选项卡。

3.2 主要定制过程

首先,在环境菜单里添加“手套箱设计”环境;在手套箱设计环境面板里添加“设备设计”面板,里面定义“手套箱”等设备设计按钮。本次开发以“手套箱”设计为例,其它设备设计按钮可按此方法依次添加实现。

其次,根据手套箱特点,手套箱工作界面由若干参数输入选项卡组成,分别定制有基本参数、手套箱体、左端盖、右端盖、箱体标准件配置等选项卡。

(1)概述选项卡:用于输入手套箱名称、图号和保存路径,可以使用程序默认的设置,也可以自由指定。

(2)手套箱体选项卡:用于输入手套箱箱体的长、宽、厚度和高度等箱体参数。除箱体外形不可以自由指定外,箱体的长、宽、厚度和高度等可根据需要自由填写。长度可以根据手套箱工位数确定,也可以直接填写总长。

(3)左端盖选项卡:用于指定左端盖外形参数,长宽外形已经根据箱体外形认指定。右端盖选项卡与左端盖参数类型一致。

(4)箱体标准件配置选项卡:用于设置箱体及左右端盖上的标准件类型、规格、位置等信息。可以添加、修改和删除各条配置数据。其中“添加配置”按钮,点击可以弹出添加箱体标准件窗口,指定箱体上标准件的所在位置、类型、标准件号、标准件的定位坐标等。

(5)保存设置按钮:保存格式有两种:二进制和XML格式。前者不可读,可以保护数据的安全性;后者可以通过记事本程序打开,进行查看和修改。

(6)读取设置按钮:可以重新加载已经保存的配置。

4 自动装配实现

手套箱参数化开发和工作界面定制过程中,在整体界面上配置不同类型的选项卡;定义各种窗口和数据录入框,包括箱体名称,图号,保存路径,生成模型按钮,手套箱体和左右端盖的参数录入窗口、箱体标准件配置列表等;在标准件配置选项卡,设置了保存和读取配置按钮,通过按钮可以将配置好的标准件列表保存起来,随时调用。这些界面化的内容在后台都表现为相关的参数,这些参数不仅是实现参数化实现的关键,同时也是为最终手套箱自动装配提供依据。

手套箱设计自动装配开发实现如下:

猜你喜欢

三维设计参数化二次开发
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
例谈课本习题的“二次开发”
Pro/E的三维往复压缩机参数化模型库的建立
一种悬架运动仿真快速建模方法研究
试验机数字化改装技术研究