基于STEP—NC的Pro/E的二次开发

2014-11-10 22:38刘文武张春梅
科技创新导报 2014年22期

刘文武++张春梅

摘 要:随着制造业中数字技术的广泛应用,制造过程的各阶段都在向数字化方向发展,并且形成了对应的功能系统。国际标准化组织(ISO)研究并制定了STEP标准,来规范整个制造业乃至各个工业领域产品信息的标准化。

关键词:STEP-NC Pro/E Visual Basic

中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2014)08(a)-0037-02

为了让STEP标准能够应用于CNC领域,ISO又研究并制定了一种新的CNC系统标准ISO 14649(STEP-NC)。在详细了解STEP-NC标准的基础上,以Visual Basic为编程环境,以Pro/Engineer为程序运行环境,并在Pro/E下运行该程序,形成一个符合STEP-NC标准的孔加工的文件。

20世纪中叶,美国麻省理工学院研制出了世界上第一台数控铣床。自此,数控技术有了突飞猛进的发展。数控加工是计算机辅助设计与制造技术中最能发挥效益的生产环节之一。但到目前为止,其信息交换大都仍是基于ISO 6983(RS274D)标准的,即采用G和M代码来描述如何加工。在这种标准体系下,使用数控技术进行生产的流程可以由图1来表示。

IGES是介于CAD系统和客户与供应商之间的信息交换标准。当用户想要加工零件时,需将IGES和PDF格式的文件或图纸发送到加工车间。CAM操作员根据对图纸的理解去实现加工过程。当加工过程确定后,CAM系统将其转换成G代码并形成刀具的运动轨迹。G代码会被作为符合RS274D要求的文件发送给CNC。

如今数控技术得到迅速发展,控制系统由早期的硬件连接方式发展到现在的基于PC的开放式数控系统。而原有的G、M代码,因其会丢失尺寸公差、表面粗糙度以及精度等关键信息,它已经越来越不能满足当今数控技术飞速发展的需求。为了解决这些问题,一种被称为STEP-NC的新的加工代码标准(ISO 14649)正在被开发,将STEP标准延伸到自动化制造的底层设备,并作为铣削加工编程的数据接口。

1 STEP以及STEP-NC文件结构

STEP是一个具有非常庞大体系的标准系列,由许多部分组成。它涉及到机电、船舶、建筑等各个学科。STEP系列标准中的每一个标准被称为一个“部分(Part)”,并单独出版。其结构为:

Part1:概述与基本原理。

Part11~14:描述方法;Part21~29:实现方法;Part31~35:一致性测试方法与框架;Part41~59:集成通用资源;Part101~112:集成应用资源;Part201~240:应用协议;Part301~332:抽象测试套件;Part501~523:应用解释构造;Part1001~1009:应用模块。

STEP是以EXPRESS语言为产品数据模型的形式化描述工具,能够完整地、无歧义地定义一类产品,并形成该产品的数据模型,但它仅仅是一种概念模式,要进行产品数据交换,就必须通过某种具体的形式实现。EXPRESS是一种正式的、无歧义的文字形态描述语言,也是一种模型建构语言。它虽然具有面向对象及继承的特性。但它是一种静态的描述结构,并非实际编程语言。它可以进行编译,但却无一般编程语言所具有的输入及输出的功能,因此不能被执行产生任何结果[2]。但使用这种形式化语言,能够保证描述的难确性、一致性和可读性。EXPRESS不仅提供了对集成资源中产品模型的描述机制,而且也支持对各种应用协议中的产品信息描述。

STEP-NC是STEP标准的扩展,其几何信息的描述和文件格式与STEP标准保持完全一致。STEP-NC是用于机床控制器的特征驱动语言,能使3D数据进入机床,将对企业的设计和制造效率产生重大的影响。对于制造来说,控制器能根据所选刀具进行动态安全检查和程序的性能优化。

STEP-NC产品数据模型时由上文提到的ISO-10303 Part21定义的纯文本格式描述的,它分为文件头部段和数据段两部分。加工零件所需的所有信息都出现在了数据段部分,并被归纳为工件(Work piece)和工作计划(Work plan)。

而研究STEP-NC的目的是对制造特征来编程,并不是直接对刀具的运动来编程。其中包含了工件的所有加工任务,通过这一系列加工任务,对零件从毛坯到成品的所有操作加以描述,提供了更高层次的信息给加工车间。STEP-NC把3D数据带入了机床,它将对企业的设计和制造产生极其深远的影响。在设计上,用机床可自己识别信息,替代了图纸传入制造环节,可使设计过程更高效;在制造上,控制器能够根据所用刀具进行动态安全检查和程序性能优化。应用STEP-NC需要投资进行软件更新,但从长远观点来看,技术领先的企业将获得更为丰厚的利润回报[3]。

2 基于STEP-NC的Pro/E二次开发

2.1 STEP-NC与Pro/E的结合

如今,三维CAD软件已成为设计产品时的主要画图工具,但软件提供给用户的仅仅是一种通用的、基本的模型建立方法。在使用软件进行设计时,常常需要大量重复或类似的模型,例如螺钉、齿轮、轴承等标准件。虽然一些三维软件已经为用户提供了常用件库,但这并不能满足所有用户的不同要求,因此需要对软件进行二次开发以建立满足使用的模型库。STEP-NC是STEP标准在CNC领域的延续和发展,并重新定义了CAD/CAM与CNC之间的接口,它要求CNC系统直接使用符合标准的CAD三维产品数据模型,再加上工艺信息和刀具信息,直接产生加工程序并控制机床。

传统的Pro/E二次开发多是用Pro/Toolkit来实现的,由于Pro/Toolkit是以C语言为依托向用户提供大量针对Pro/E底层资源调用的库函数和头文件的,这就要求用户精通C语言的语法规则和灵活使用大量的指针。对于不熟悉C语言而精通VB语言的人可以以VB API为开发工具,使用VB API语言作为编程语言来进行参数或模型库的设计开发,达到快速又精确的生成所需三维模型的目的,并提高设计效率。

VB API是Pro/E wildfire4.0中为满足用户使用VB进行二次开发的需求而增加的一种新的工具,用户可以直接使用这一工具并利用VB语言编写应用程序而不需要借助第三方工具[4]。VB API的开发模式是异步的,即程序应用可以独立于Pro/E启动,然后再启动Pro/E或连接到Pro/E的一个进程中。基础模型的正确建立时异步模式二次开发的一个重要的核心问题。

2.2 孔加工的STEP-NC文件的生成

Pro/E二次开发的关键部分是代码的编写,要充分发挥VB面向对象编程的优势,为减少代码的编写量和错误的发生率可采用类进行处理,还可提高代码的可维护性和扩展性。所以可建立一个类来统一处理模型库中的模型,这个类也是编写程序代码过程的核心部分[5]。对孔的代码编写过程中,用到的主要类和方法及属性如下:

CCpfcAsyncConnection.Connect( )方法 Ipfc Base Session.Retrieve Model( )方法 IpfcParameter Owner.GetParam( )方法 IpfcBase Parameter.Value属性 IpfcSolid.Regenerate( )方法IpfcModel.Display( )方法

以VB为编程环境,以Pro/E为程序运行环境,并在Pro/E下运行该程序,形成符合STEP-NC标准的孔加工文件,如图2、图3所示。

3 结语

本文通过查阅国内外与STEP-NC相关的资料文献,详细了解了STEP-NC数据模型的标准,通过对Pro/E的二次开发,实现了把几何信息从三维几何图形中提取出来,并把零件加工过程中所必须的工艺信息添加至几何信息中,最终生成了符合STEP-NC标准的文本文件,并且将文件用于数控加工,为CAD与CNC的集成找到了一条可行之路。

参考文献

[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.

[2] 林怡君,余志成.以STEP为基支援同步工程概念设计之设计资料模型[Z].

[3] 洪岩.基于STEP的数控后置处理技术的研究[J].世界标准化与质量管理-质量技术,2002(1):35-42.

[4] 李善平,刘乃若,郭鸣,等.产品数据标准与PDM[M].清华大学出版社,2002.

[5] 刘龙,朱林波.基于VB.NET的Pro/e二次开发关键技术[J].现代制造工程,2008(10).

VB API是Pro/E wildfire4.0中为满足用户使用VB进行二次开发的需求而增加的一种新的工具,用户可以直接使用这一工具并利用VB语言编写应用程序而不需要借助第三方工具[4]。VB API的开发模式是异步的,即程序应用可以独立于Pro/E启动,然后再启动Pro/E或连接到Pro/E的一个进程中。基础模型的正确建立时异步模式二次开发的一个重要的核心问题。

2.2 孔加工的STEP-NC文件的生成

Pro/E二次开发的关键部分是代码的编写,要充分发挥VB面向对象编程的优势,为减少代码的编写量和错误的发生率可采用类进行处理,还可提高代码的可维护性和扩展性。所以可建立一个类来统一处理模型库中的模型,这个类也是编写程序代码过程的核心部分[5]。对孔的代码编写过程中,用到的主要类和方法及属性如下:

CCpfcAsyncConnection.Connect( )方法 Ipfc Base Session.Retrieve Model( )方法 IpfcParameter Owner.GetParam( )方法 IpfcBase Parameter.Value属性 IpfcSolid.Regenerate( )方法IpfcModel.Display( )方法

以VB为编程环境,以Pro/E为程序运行环境,并在Pro/E下运行该程序,形成符合STEP-NC标准的孔加工文件,如图2、图3所示。

3 结语

本文通过查阅国内外与STEP-NC相关的资料文献,详细了解了STEP-NC数据模型的标准,通过对Pro/E的二次开发,实现了把几何信息从三维几何图形中提取出来,并把零件加工过程中所必须的工艺信息添加至几何信息中,最终生成了符合STEP-NC标准的文本文件,并且将文件用于数控加工,为CAD与CNC的集成找到了一条可行之路。

参考文献

[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.

[2] 林怡君,余志成.以STEP为基支援同步工程概念设计之设计资料模型[Z].

[3] 洪岩.基于STEP的数控后置处理技术的研究[J].世界标准化与质量管理-质量技术,2002(1):35-42.

[4] 李善平,刘乃若,郭鸣,等.产品数据标准与PDM[M].清华大学出版社,2002.

[5] 刘龙,朱林波.基于VB.NET的Pro/e二次开发关键技术[J].现代制造工程,2008(10).

VB API是Pro/E wildfire4.0中为满足用户使用VB进行二次开发的需求而增加的一种新的工具,用户可以直接使用这一工具并利用VB语言编写应用程序而不需要借助第三方工具[4]。VB API的开发模式是异步的,即程序应用可以独立于Pro/E启动,然后再启动Pro/E或连接到Pro/E的一个进程中。基础模型的正确建立时异步模式二次开发的一个重要的核心问题。

2.2 孔加工的STEP-NC文件的生成

Pro/E二次开发的关键部分是代码的编写,要充分发挥VB面向对象编程的优势,为减少代码的编写量和错误的发生率可采用类进行处理,还可提高代码的可维护性和扩展性。所以可建立一个类来统一处理模型库中的模型,这个类也是编写程序代码过程的核心部分[5]。对孔的代码编写过程中,用到的主要类和方法及属性如下:

CCpfcAsyncConnection.Connect( )方法 Ipfc Base Session.Retrieve Model( )方法 IpfcParameter Owner.GetParam( )方法 IpfcBase Parameter.Value属性 IpfcSolid.Regenerate( )方法IpfcModel.Display( )方法

以VB为编程环境,以Pro/E为程序运行环境,并在Pro/E下运行该程序,形成符合STEP-NC标准的孔加工文件,如图2、图3所示。

3 结语

本文通过查阅国内外与STEP-NC相关的资料文献,详细了解了STEP-NC数据模型的标准,通过对Pro/E的二次开发,实现了把几何信息从三维几何图形中提取出来,并把零件加工过程中所必须的工艺信息添加至几何信息中,最终生成了符合STEP-NC标准的文本文件,并且将文件用于数控加工,为CAD与CNC的集成找到了一条可行之路。

参考文献

[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.

[2] 林怡君,余志成.以STEP为基支援同步工程概念设计之设计资料模型[Z].

[3] 洪岩.基于STEP的数控后置处理技术的研究[J].世界标准化与质量管理-质量技术,2002(1):35-42.

[4] 李善平,刘乃若,郭鸣,等.产品数据标准与PDM[M].清华大学出版社,2002.

[5] 刘龙,朱林波.基于VB.NET的Pro/e二次开发关键技术[J].现代制造工程,2008(10).