明威科技基于PLM平台的电子工艺规程输出技术黎明航发集团计算机信息技术研究所摘要基于PlM平台,运用Java语言和WEB技术,实现了在协同环境下工艺规程的设计电子化、网上浏览及网上审签。本文主要介绍:工艺规程输出技术综述,运用Java将产品工艺信息输出为XML文件形式,并用XSLT技术转化为基于WEB的工艺文件;特殊符号的显示即VML技术。关键字PLM;BOM;XML;XSLT技术;电子签名;VML技术1引言产品生命周期管理(PLM,ProductLiftcycleManagement)是指对产品从概念设计、详细设计、生产、投用、维护和后期服务直到产品退出市场并消亡的完整生命周期的管理。黎明公司作为中国航空发动机行业的骨干企业,目前正面临着现代航空制造工业的挑战。这些挑战有:在不同生产地点之间共享产品平台、产品作业的并行协同模式、产品和制造工程的单一数字化产品定义、第一时间品质等。所以我们需要搭建一个PLM(PRODUCTLIFECYCLEMANAGEMENT)系统,其中含有:实现产品设计所和制造厂之间的协同设计与制造;在企业的生产准备阶段,完成产品制造信息的数字化建立和管理。黎明PLM系统架构以UGS公司Teamcenter作为PLM主干(Backbone),我们在此基础上进行了二次开发。Teamcenter是一个开放性的系统,其中表现在各层系统架构都支持J2EE企业环境标准,所有应用子系统之间通过PLMXML对不同类形、结构和形态的数据进行操作访问。TeamcenterAPI和PLMXML提供标准应用开发和数据接口,为用户界面的客户化提供了有效的标准开发环境。黎明公司的工艺报表格式多种多样,因此利用XML/XSL技术实现各种工艺报表的定制输出,是一项必不可少的工作。针对黎明的需求,通过有效的二次开发工作,开发出了具有黎明特色的LM-CAPP系统,昀终达到了提高工作效率、降低生产成本、保证产品质量的目的。本文主要介绍和阐述的内容是:以PLM环境下的工艺BOM树为研究对象,运用Java语言将产品的工艺BOM信息以XML文件形式输出,并运用XSLT技术转化为基于WEB的工艺文件,利用了WEB技术支持多任务与多用户的并行和异地协同工作,昀后在电子工艺设计编制完成后,输出整本工艺规程(图1虚线圈着的部分),可以网上传输和协同浏览(即在协同设计时实现“你见即我见”方式的浏览功能)及网上审签。作者参加了该PLM系统项目的二次开发工作,并和团队一起圆满地完成开发工作。在与大家分享成功喜悦之际,也将所体验和学到的协同环境PLM平台下工艺规程输出的技术要点做个总结,谨供同行们参考。系统的总体规划如下图1。明威科技Tel:0431-85176127www.mingwei.cnEmail:info@mingwei.cn明威科技(图1系统总体规划图)2工艺规程报表输出技术综述基于PLM平台的二次开发设计过程中,首先做的是工艺、工序的数据输入界面定制开发,这里这部分内容忽略,主要阐述工艺报表输出部分。在协同环境下应用javaScript,动态产生目录树来管理设计过程中产生的众多的工艺文件以及图形文件,以便于这些文件的网上协同浏览,创建基于WEB的协同工艺设计环境。工艺文件网络化浏览的技术难点主要是灵活处(图2具体技术实现路线图)理换行换页、工艺特殊符号的显示,以及流程问题、网上协同电子签名和圈阅、整本打印工艺规程的处理。明威科技Tel:0431-85176127www.mingwei.cnEmail:info@mingwei.cn明威科技基于工艺规范化、标准化,为黎明量身定做了自己的工艺规程输出机制。具体技术实现路线如图2。对上面图2解释如下:z工艺BOM树组成及XML文件的输出:确定工艺BOM树的层次结构要考虑主制工艺与辅制工艺的并行,减少流程节点,增强流程执行效率,以达到工艺设计的并行。工艺BOM树由和该工艺相关联的零件item、工序下挂的dataset(可能是UGPart、CAXA、AutoCAD、InterCAD等等)、工艺和工序的form、工厂等类型对象构成,这些对象及它们之间的层次关系构成了工艺BOM树。根据工艺BOM树结构确定XML文件的结构。用Java语言编写应用程序读这个BOM树,把它们的属性信息读出来后对应转化为XML文件的元素或属性等。这个XML文件就包含了这个工艺BOM树所有的工艺信息。XML文件的结构大致如下图:PEmail:info@mingwei.cnROCESSES创建人创建日期…PRAT零件号零件名称…〉PROCESS工艺号工艺名称创建人工艺ID…〉(图3XML文件的结构)这里要考虑到后面换行换页的问题,解决的办法就是①生成XML每个工序、工步节点的时候,计算出该道工序处于工艺目录卡中的第几页、该工步处于工序卡片中的第几页,并把页数值作为一个节点挂在该道工序或工步下面,如图3中的“OPERATION_CATALOG_PAGE_NO”节点。②每种工艺里包含哪些工序以及每种工序卡片的换行换页的信息等都放在一个properties类型的文件中,在上一步中计算页数时到这个properties文件中读取这些信息。③用Java写XSl扩展函数,来控制换行换页,详见下面绘制XSL+CSS文档。z绘制XSL+CSS文档(即定制工艺文件模板):工艺BOM树信息输出到XML文件中后,只是把工艺信息内容输出了,按照“内容与表现形式相分离”的思想,我们还要制定出XSL文件,把这个XML文件转化输出为想要的工艺信息表现形式,即基于Web的各种各样的工艺报表。鉴于工艺文件表现形式的复杂多样性,制定出这些模板的步骤如下图:ROUGH毛坯ID毛坯号…〉WORKAREA单位名称…〉OPERATRON工序ID版本工序名称即ITEM本身的属性,MASTEERFORM上的属性…〉…RATION_CATALOG_PAGE_NO明威科技Tel:0431-85176127www.mingwei.cnOPE处于工序目录卡的第几页明威科技(图4模板制作流程图)应用上面这种方式,我们共做了64个模板(分A4全图/半图、A3全图/半图),工作量很大。XSL本身虽然有一些函数如number()、string()等等,但是远远不能满足我们的要求,所以要用Java编写XSl扩展函数如换行换页的函数、补充空格的函数、得到工序图的函数、缩小字体的函数、处理特殊符号的函数等等。我们充分利用面向对象的思想,把通用的函数(就是上面提到的那些Java编写XSl的扩展函数)放到一个父类中,这些函数的参数很多是采用HashMap类型的数据,可伸缩性强,灵活;然后为每个工序卡片写一个扩展类,这些扩展类都是子类,子类主要就是构造参数,以调用父类的函数。zHTML格式工艺文件的转化输出:Java应用程序调用XSLT处理器对XML文件解析,同时传递参数到XSL文件以达到换行换页等目的,把转化结果以实际的HTML或其它形式文件输出。“基于协同环境下电子工艺规程输出技术”昀终效果图如下:明威科技Tel:0431-85176127www.mingwei.cnEmail:info@mingwei.cn明威科技(图5“基于协同环境下电子工艺规程输出技术”最终效果图)z截获流程信息,实现网上审签运用javaScript及XML,实现网上审签。刚开始是对整本工艺审签,后来应用户提出的要求,审签精确到了工序,就是说一本工艺规程中,可以只对某些道工序进行审签,也可以对整本工艺审签。以上是工艺规程报表输出技术综述。3VML技术3.1VML简介VML是一个昀初由Microsoft开发的XML词表,现在也只有IE5.0以上版本对VML提供支持。使用VML可以在IE中绘制矢量图形,所以有人认为VML就是在IE中实现了画笔的功能。VML的优点:⑴基于XML标准:XML是公认拥有无穷生命力的下一代网络标记语言,VML表示方法简单,易于扩展等等。⑵支持高质量的矢量图形显示:⑶由文本构成的图像,并可集成到HTML:由于VML使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容,通过在HTML中声明VML命名空间并声明处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。3.2VML实例在VML里面,标记使用的是XML扩展,用“v”作为命名空间,所以html文件头部要求写成:htmlxmlns:v明威科技Tel:0431-85176127www.mingwei.cnEmail:info@mingwei.cn明威科技headSTYLEv\:*{behavior:url(#default#VML);}//这里声明了v作为VML公用变量/STYLE/head下面例子中的html头部都是这样的,不再重复写了。例如:用vml与html结合在IE中显示符号。代码如下:SPANNAME=jizhun_JSTYLE=margin-right:-25px;letter-spacing:-1.5px;FONTSIZE=2FACE=仿宋_GB2312 D/FONTSUBSTYLE=position:relative;top:-4;left:-0.5;FONTSIZE=2FACE=仿宋_GB231233/FONT/SUBFONTSIZE=2 /FONTv:ovalrelative;top:3;left:-24;HEIGHT:5.7mm;filled=falsestrokecolor=blackstrokeweight=1pt/v:oval/SPANhtml代码说明1)POSITION:值可以是absolute(绝对坐标)、relative(相对坐标),修改LEFT、TOP的值可以改变坐标。2)WIDTH、HEIGHT:控制圆的高度,宽度,WIDTH、HEIGHT相等时是圆,不等时是椭圆。3)filled、strokecolor、strokeweight:filled是指是否有填充色;strokecolor是线条颜色;strokeweight是线条粗细。4)SPAN:定义一个显示层,便于整体控制。5)margin-right:控制与后面文本的距离,如果是0,与后面文本的间距太大。6)letter-spacing:定义这个层里字符的间距,紧凑些。7)SUB:下标;SUP,上标。效果如下图:(图6效果图)明威科技Tel:0431-85176127www.mingwei.cnEmail:info@mingwei.cn明威科技这个项目里,特殊符号的处理采用XSL扩展元素/函数技术结合VML技术,处理如下:第一步先用VML代码画出所有的特殊符号,并确定出它所占用字符个数以便后续处理;然后是定义一套伪代码代表这些特殊字符;在输入界面中输入一些伪代码代表特殊符号,然后在XSL文件中读取这些伪代码;昀后定义一些XSL扩展函数读取伪代码并替换为VML代码输出到工艺文件中去。4结论4.1使用情况目前该项目正在黎明的机匣厂和盘轴厂培训、试运行,受到了工艺员们的好评,应用PLM系统编制工艺、画工艺图快捷、方便,实现了工艺设计的协同与并行,充分利用了基于WEB的工艺文件表现方式和技术,支持多任务与多用户的并行和异地协同工作,并支持信息的并行传输和共享的特点。4.2结束语及感谢黎明公司作为中国航空发动机行业的骨干企业,必将在数字化制造领域取得辉煌的成就,创造更高的效益,为祖国的航空事业的腾飞贡献自己的力量。在本文的撰写中,赵济国老师给予精心指导和大力帮助,鲁玉峰所长给与了大力支持,在此表示衷心感谢!关于明威:明威科技-美国UGS公司CAD/CAM/CAE/PLM(UG、Ideas、Imageware、Solidedge、NXNastran、Teamcenter)北方区核心代理;我们是为制造业企业提供“数字化技术与专业化服务”的高科技公司,致力于为制造企业提供4C1P(CAD/CAM/CAPP/CAE/PDM