您的位置:网站首页 > CAD新闻

Teamcenter与NX集成客户化定制技术研究与实现

时间:2011-02-26 10:04:18 来源:

  由于生产规模、产品类型和管理制度等的差异,不同的企业对PDM和CAD等企业信息化软件的具体需求千差万别,这对PDM和CAD软件具体实施时客户化定制技术要求较高。Teamcenter Engineering和NX这两款西门子公司推出的PDM和CAD软件,提供了开放的定制接口和二次开发技术,为系统实施人员进行客户化制提供了方便,提高了系统实施效率,较好地满足了不同的企业信息化的个性化需求。

  1 客户化定制相关技术

  1.1 Teamcenter中业务对象(Business Objiect)和业务建模器集成开发环境(Business Modeler IDE)

  产品和构成产品的每个组成部分都可以作为Teameenter管理的对象,称为业务对象(Business Object),Teamcenter用数据模型(data model)来组织存储业务对象,业务对象在Teamcenter Engineering中称为类型(type)。零组件业务对象(Item)是Teameenter中进行数据建模的基础业务对象,它用于标识产品元素(如组件、装配、底层业务对象)或采购规格、测试过程、标准件、车间加工等信息。零组件业务对象基本结构包括Item、ItemMaster(Form)、ItemRevision和ItemRevision Master(Form)四部分,其中Item收集零组件业务对象各个版本都使用的全局数据、ItemMaster(Form)是用于扩展存储用户零组件业务对象属性数据的表单,ItemRevision收集零组件业务对象某一版本使用的数据,ItemRevision Master(Form)是用于扩展存储用户零组件业务对象某一版本属性数据的表单。

  Business Modeler IDE是Teamcenter 2007的一个新增功能部件,是Teamcenter实施过程中客户化定制数据建模的工具,使用Business Modeler IDE可以创建业务对象、类、属性、值列表(LOVs)、选项、常数和规则等。在创建了新的数据模型对象之后,可以在Business Modeler IDE中将新建的数据模型对象部署到产品服务器。

  1.2 Teamcenter属性映射机制与NX Manager

  Teamcenter提供了与NX系统以及其他各类文档的属性映射机制,很好的解决了传统PDM系统难以解决的结构化数据来源问题,实现了与软件的深度集成利用。通过属性映射技术,可以方便地进行Teamcenter与NX及其他CAD系统之间属性双向映射,实现在Teamcenter和CAD系统之间数据集成、相互访问。

  NX Manager是Teamenter Engineering的子集,提供针对NX数据的管理方案,改进NX内部和外部数据的沟通能力,是Teamenter Engineering与NX的集成应用工具。通过NX Manager可以实现Teamcenter/NX数据的无缝集成,并对数据进行有效的组织和管理。

  在Teamcenter服务器端执行export_attr_mappings.exe和import_attr mappings.exe命令行程序可以实现Teamcenter与NX Manager的属性映射。

  1.3 NX Open API

  NX 0pen API是NX提供的二次开发工具之一,通过调用NX应用编程界面(API)函数进行NX的客户化定制软件开发,是一个允许程序访问和影响NX对象模型的一系列程序集。它提供.NET API,支持所有.NET语言,包扩Visual Basic.NET和C#,与新的Visual Studio.NET开发环境完全集成。用户可以在Visual Studio.Net IDE中使用.NET编程语言,调用NX Open API进行编程,结合NX的界面开发工具UIStyle和NX Menuscript等,在NX中定制满足企业个性需求的功能,如:配置设计环境、建立NX模型、查询模型对象、建立并遍历装配体、创建工程图等。

  2 Teamcenter与NX集成客户化定制技术思路

  综合运用Teamcenter和NX集成各客户化定制技术,完成企业系统实施个性化需求(如图纸标题栏、明细表、NX Open API编程等),可采用以下技术思路:

  1)在业务建模器IDE中创建满足客户化需求的零组件业务对象Item,设置Item各属性项;

  2)将定制的零组件业务对象部署到Teamcenter服务器中;

  3)在Teamcenter服务器中创建相应零组件业务对象类型的业务对象,并赋以属性值;

  4)通过Teameenter的属性映射机制将新类型对象映射到NX Manager中;

  5)使用NX Open API等二次开发技术,客户化定制NX功能模块,包括定制用户界面、通过交互方式存取Nx Manager中映射的TeamCenter对象属性值等编程工作,以实现Teamcenter与NX客户化定制数据的互访。

  3 基于Teamcenter的NX工程图纸标题栏定制实例的实现

  3.1 实例描述

  工程图纸标题栏是工程师工作中最常用到的一种具有企业化特性的工具,主要用于标注所设计图纸的名称、图号、绘图的比例以及设计者的姓名等内容。标题栏在图框的位置、式样和尺寸都有一定的标准,每个企业都有自己统一的标题栏格式和填写要求。

  本实例可以根据企业需求定制表格、由工程师通过NX系统交互界面设定标题栏填写项,并从Teamcenter中获取填写值,自动生成图纸标题栏。

  3.2 实现关键步骤

  步骤1:在业务建模器IDE中创建“新建业务建模器IDE模板项目”,如:Draw Project。在Draw_Project的业务对象视图中新建业务对象“TideBlockItem”,填写表单TitleBlockItem Master属性:CompanyName、Materials、SheetSize、SheetScale、SheetPage、FirstIssued、DrawnBy、CheckedBy、ApprovedBy等,新建业务对象TitleBlockItem Revision及Title Blockhem Revision Master。保存项目,并部署到Teamcenter服务器。

  步骤2:在TeamCenter服务器中创建TitleBlockItem类型的零组件业务对象,并给各属性项赋值。

  步骤3:通过Teamcenter的属性映射机制将新类型对象映射到NX Manager中。

  ①在tc—MYDB—command_prompt命令行窗口中运行命令行程序:export attr mappings.exe-file=d:TitleBlock_mapping.txt-u=infodbap=infodba,将Teamcenter中缺省的映射关系导出到TitleBloek_mapping.txt映射文本文件;

  ②NX Part在Teamcenter对应的数据集类型是UGMASTER,要实现Item与NX Part的属性同步,需要在映射文件中的Title-BtockItem Master数据集下加入属性映射代码。编辑TitleBlock_mapping.txt文件,添加的属性映射代码片段如下:

  {Dataset type=“UGMASTER”

  #(hard-wired)DB_PART_NAME:“Part Name”

  #(hard-wired)DB_PART_DESC:“Part Description”

  {Item type=“TifleBlockhem”

  CompanyName:Item.GRMOMAN_master_form,TitleBloekItem Master).CompanyName/master=both

  Materials:Item.GRM(IMAN_master_form,TitleBlockhem Master).Materials/master=both

  ……}}

  其中,/master后的参数可以是iman、cad或both,表示相应的属性值只能在Teamcenter中修改,NX Manager中只读、Teamcenter中只读,NX Manager中可修改或在Teamcenter和NX Manager都可修改、访问。

  ③在tc_MYDB_command_prompt命令行窗口中运行命令行程序:import_attr_mappings.exe-file=d:TitleBlock_mapping.txt-u=infodba-P=infodba,将添加新的映射关系后的TitleBlock_mapping.txt映射文本文件,再导入到Teamcenter中,完成属性映射;

  属性映射完成后,在NX Manager中打开TitleBlockItem下面的UGMaster,在NX Manager的文件属性列表里,将会看到CompanyName、Materials等属性已经映射了,在Teamcenter的Form里,修改相应的值,NX Manager中属性值会跟着改变,反之亦然。

  步骤4:客户化定制NX工程图纸标题栏自动生成程序。

  工程图纸标题栏自动生成程序包括定制客户化界面、定制自动插入标题栏和智能填写标题栏三部分功能模块:

  ①定制客户化界面

  该模块主要包括标题栏定制菜单、工具栏及标题栏显示项对话框。可通过NX二次开发工具UIStyle和NX Menuscript编程实现,界面效果如图1所示。

  

  图1 工程图纸标题栏定制界面

  ②自动插入标题栏

  在Drafting应用环境下.插入一个Tabular Note,按照企业要求规划图纸标题栏格式,将主要涉及单位名称、零件名称、图号、比例、图幅大小、署名等内容插入相应的位置,并进行相关设置,使其满足企业需求,并保存为模板格式,方便以后的调用,标题栏模板样例如图2所示。

  

  图2 定制的标题栏

  编写UF函数,将定制好的标题栏以调用模板的形式,插入到当前的图纸。实现标题栏的插入主要用到UF_DRAW_ask drawing_info()和UF TABNOT_create_from template()两个函数。

  ③自动填写标题栏内容

  该模块通过定制的对话框获取用户标题栏需要填写的属性项,访问Teamcenter映射到NX中的属性值,填写到标题栏相应的单元格内,保证跟Teamcenter中TitleBlockhem Master Form保持实时更新,实现Teamcenter中智能管理标题栏的功能。

  实现该标题栏填写功能主要用到UF_PART_ask_display_part()、UF_OBJ_cycle_objs_in_part()、

  UF_STYLER_ask_value()、UF_TABNOT_ask_nth_row()、UF_TABNOT_ask_nth_column()、UF_TABNOT_ask_cell_at_row_col()、UF_TABNOT_set_cell text()等函数。

  4 结束语

  作为企业信息化的一个重要环节,PDM是企业进行管理创新的有效工具,采取与实际应用相结合的原则,使用集成客户化定制技术高效实施PDM产品,在知识经济环境下对于提高企业的竞争力,迎接市场的全球性的挑战有积极的作用。

  如有任何看法或投稿请联系 MSN:hjf_2009@hotmail.com;QQ:761006944