STEP后处理器的设计及实现

随着CAD、CAPP与CAM系统的发展,CAD/CAM一体化已成为热门的研究课题。所谓CAD/CAM一体化,指的是在CAD、CAPP与CAM各模块间信息提取,交换,共享和处理的集成。如何进行数据交换是实现CAD/CAM—体化技术必须完成的一个重要内容。目前,解决不同的计算机辅助系统之间的数据交换的方法有以下几种:

1.专用数据格式文件

这种方法是在需交换的每两个系统间开发双向转换器接口进行数据交换,因此除了设计专用的数据结构外,还必须设计前后置处理器。前置处理器从一个系统中取出数据并转换成专用格式,后置处理器解释这个格式并将数据存储到另一个系统中。由于每两个需要传输数据的系统间都有不相同的专用格式,因此接口的数目随着系统的增加而增加,从而使系统的复杂性大大增加。

2.标准数据格式文件

这种方法的目的在于减少系统间多种专用格式和多个前后置处理程序的设计,用一个标准格式(如IGES,STEP等)来代替。.系统间的数据传输都只有一个针对标准格式的前后置处理程序。IGES是面向图形和工程图的一些信息,重点在于产品的几何信息,无法表达加工工艺等非几何信息,此外IGES仅支持单个零件且只有文本格式。而STEP是面向完整产品定义的数据表达和交换的国际标准,其中,STEP文件实现方式是一种比较简洁、方便、成熟的数据交换机制。

3.共享数据库

采用数据库实现数据交换是CAD/CAM一体化的理想模式,但是当前的数据库大多数是关系数据库,难以处理复杂的工程数据。UNIX系统提供的LEX和YACC为语言程序的开发提供了一个开发平台,使用者需根据系统的约定构造LEX规范说明和YACC的功能说明。目前,许多开发人员对这些工具不太熟悉。针对上述情况,本文重点放在STEP后处理器的设计原理和STEP词法分析器的算法设计上面。

一、STEP后处理器的设计原理

STEP标准是一个由国际标准化组织发展的用于产品数据表达和交换的国际标准。它的目的是在产品生存期内为产品数据的表达和通信提供一种中性的数字格式。这种数字格式能完整地表达产品的信息并独立于要处理这种数字的应用软件。利用STEP文件实现不同系统之间的数据交换时,双方系统通过物理文件交换数据。数据发送方通过STEP文件的前处理器把内部数据转换成STEP文件,数据接收方通过后处理器读入STEP文件中的数据,见图1.1。

其中,前处理器的任务是把系统内部数据写入到STEP文件中,这在程序实现时通过按规定格式输出数据到STEP文件中,程序设计较容易。后处理器的任务是读入STEP文件中的数据,经词法分析后转换成中间文件,然后通过数据转换器转换成系统内部数据。STEP的后处理器由两部分组成:词法分析器和数据转换器,见图1.2。

STEP文件结构是基于语言的,用无二义的、上下文无关文法来描述,这便于软件的词法分析。STEP文件是一个顺序文件,文件中包含的信息是自由格式,没有列相关的信息。STEP交换文件以模块化的方式组织,它由几个节(Section)组成。这些节中包含一个或多个实体,每个实体由多个属性组成。

节——相同(似)功能的数据的集合。

实体——逻辑上相关的数据的集合。

属性——关于实体的数据事实,它是概念上的原子(也就是说它表示单个事实)。

一个实体由它的属性来定义或描述。

STEP文件由两部分组成,头部节(HEADERsection)和数据节(DATAsection)。头部节中提供作者和生产日期等信息,它应用于整个交换格式文件;数据节用于定义待交换的产品数据。它是在概念模式中定义的标准类型的实例集合。头部节和数据节在中性文件中均只能出现一次,而且头部节在前。

文件的一般格式如下:

nextpage

二、STEP后处理器的设计方法

根据CAD、CAPP系统全局的产品数据模型,确定双方系统要交换数据的模式(Schema)。根据这一模式确定STEP交换文件的结构,在文件结构的指导下编写STEP文件的前后置处理器。STEP交换格式文件可看作字母集中字符的连续流,这些字符流结合成可辨识的字符串叫符号(Token)。因此,中性文件也可看作符号的序列。STEP中性文件的字母表用BNF表示如下:

限于篇幅,这里就不再列出STEP文件结构。

STEP词法分析器实现的基本原理:扫描源程序字符,按语言的语法规则识别出各类单词符号,并将有关字符组合成为单词同时进行词法检查。词法分析采用单独一遍扫描实现,把词法分析的输出放在一个中间文件上,从源文件中取得其输入,每次从文件上读入一个字符进行处理,见图2.1。

为了处理上的方便,采用超前读取字符(超前扫描)的办法,即仅向前读取字符,不作别的处理,当情况判明以后再处理已读过的字符。在词法分析时造符号表。为了便于数据的进一步加工,输出采用二元式,见图2.2。

根据STEP标准中的字母表,符号定义以及文件结构,得出STEP词法分析器的算法框图见图2.3。

STEP文件经词法分析后产生一个中间文件,然后根据不同的应用系统设计各自数据转换器。如对于数据库应用系统可按如下的对应关系进行转换:STEP文件数据库应用系统实体表实例记录属性属性对于CAD应用系统、可把STEP文件中的实体映射成CAD中的实体。从而完成了STEP后处理器完整的设计过程。

三、结论

利用STEP中性文件实现CAD/CAM系统之间的数据交换,实现信息共享,是解决CAD/CAM一体化的有效途径。本文对STEP文件数据交换的设计原理作了系统的总结,根据STEP文件的规范,提出了STEP词法分析的算法。后处理器已采用ANSIC实现,具有良好的移植性。通过这项研究,将为不同的计算机系统之间的数据交换与共享提供一个重要的技术支持。

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2023/08/6743.html