西门子开放式数字制造数据管理平台Tecnomatix是PLM领域的全球领先者,其子模块灵活多样,可单独或集成使用,其中Process Simularion可完成对装配工艺的建模、仿真。然而截止到Tecnomatlx 9.1,该模块在以下几方面仍存在不足:(1)路径生成算法不够智能化,不能自动生成无干涉路径;(2)人机模块不完善,通常需要耗费大量时间和精力来对人体模型进行姿势调整;(3)专用性不足,程序本身提供出很多基础建模功能,但却无法对几个功能进行封装,导致大量不必要的重复劳动。
因此,企业往往需在Teenomatix平台基础上进行二次开发,以定制企业自身特殊应用。针对Tecnomatix专用性不足,介绍了Tecnomatix二次开发的几项关键技术,并利用这些技术,开发出了姿态快速生成模块(Pose Rapid Performance),提高了在实际工程中的工作效率。
2 开发方式
Tecnomatix对外提供.NET API二次开发方式,其开发形式,如图1所示。这种方式与Tecnomatix应用程序紧密集成,犹如Tecnomatix自身功能,因此这种开发方式开发出的模块具有运行速度快和可靠性高的特点。另外,由于.NET语言编译过程分为了两部分,即先将代码编译成Micrasoft的中间语言(Microsoft Intermediate Language,MSIL)代码,在执行时再通过Just-In-Time(JIT)编译器将把中间语言代码编译成专用于OS和目标机器结构的本机代码,因此这种开发方式又具有跨操作平台性。综上,用户可以在多个操作平台上开发出代码程序实现与Tecnomatix应用程序的无缝集成。3 几项关键技术
由Tecnomatix提供的二次开发形式,应该将代码最终编译为DLL应用程序,并集成到Tecnomatix应用程序中。根据实际开发经验,给出了以下几项关键技术。
3.1 与Tecnomatix应用程序集成技术
要实现DLL应用程序和Tecnomatix的无缝集成,需要以下几步:
(1)添加引用:在编写DLL代码的过程中,首先需包含对Tecnomatix.Engineering.dll文件的引用,以调取Tecnomatix.Net所提供的函数和接口。
(2)执行接口:在执行接口时,需建立公共类。根据需求不同,可执行不同的接口或接口组合,以使DLL应用程序以不同的形式出现在Tecnomatix应用程序中,如图2所示。(3)编写功能函数:功能函数是实现命令功能的主要代码,从Execute执行接口进入到Tecnomatix应用程序当中。
(4)注册:根据开发的代码作用不同,可以把编译完成的代码放在不同的目录下(\DotNetExternalApplications或\DotNetViewers)并分别利用CommandReg或ViewerReg对DLL代码进行注册。
3.2 柱塞的结构与Tecnomatix应用程序交互技术
访问内部对象:对应用程序内部的访问主要通过访问TxApplication函数来完成,通过它可以访问到当前的TxDocurnent属性(包括所有的实体对象、操作和机器人程序和MFG特征)、TxSelection属性和TxOptions属性。
创建实体:根据实体的相关数据,利用Tecnomatix数据的类和接口,实例化相应的用来构造数据的类,例如构造一条直线:3.3 对话框技术
对话框是CAD/CAM类应用软件不可缺少的用户界面之一,是目前最先进、最流行的一种人机交互界面,能向用户提供图形和文字共存的可视化环境,因此能够正确快速的开发出应用程序的对话框非常重要。根据3.1介绍的集成步骤,可以很容易的将功能函数以对话框的形式给出。
除开发语言本身所带的控件以外,Tecnomatix的API也向用户提供相应的控件,利用这些控件可方便的实现某些特殊功能,如TecnomatiX提供的用户控件可“监听(listen)”鼠标在视图中所选择到的物体并对所选到的物体进行访问等。
4 开发实例
C#是一种面向对象编辑的高级编程语言,可使程序员快速编写各种Microsoft.NET平台的应用程序。因此,利用上述关键技术并结合某机车公司的抬电柜设备,笔者开发出基于C#的姿态快速生成模块(Pose Rapid Performance),该模块将两关联机构的位姿定义封装在一起,简化了机构的运动位姿定义过程,提高了工作效率。DLL应用程序以简单按钮(Simple Button)形式无缝集成在Tecnomatix应用程序中,如图3(a)所示。点击可激活命令;利用对话框进行交互,如图3(b)所示。根据需要设置各项参数;完成参数设置,如图3(c)所示。点击生成按钮生成新的姿态,完成与Tecnomatix应用程序的交互;创建出的新姿态,如图3(d)所示。
图3 基于C#的Tecnomatix二次开发实例
介绍了Tecnomatix的二次开发方式,并着重介绍了Tecnomatix二次开发的关键技术,最后针对某机车公司的抬电柜设备,开发出了姿态快速生成模块,利用该模块可以简化虚拟装配过程中机构的运动位姿定义过程,提高工作效率。