STEP中以文件交换形式实现产品信息交换的研究
摘 要:在介绍产品数据标准STEP及实现形式的基础上,着重介绍了交换文件结构中的头部段和数据段,并给出了通Pro/ENGINEER转换的BSPLINE(B样条)曲线及裁剪曲线的具体数据实例。关键词:STEP;文件交换;产品信息;B样条 引 言 随着几何造型技术的不断发展,各种CAD系统应运而生,CAD系统的应用范围已日益广泛,无论是在企业内部各部门之间,还是在不同企业、不同行业之间,都需要有大量的CAD系统信息进行交换。因此,各种数据交换标准也不断产生。
STEP标准是在PDES(Product Data Exchange Specification)的基础上,并参考其它有关的数据表达和交换标准,ISO于1980年把PDES文本作为STEP标准的建议草案发表,1993年起将STEP中较成熟部分陆续发表,其正式代号为10303,是一个计算机可理解的关于产品数据表达和交换的国际标准。其目的是提供一种不依赖于具体系统的中性机制,能够描述产品整个生命周期中的产品数据。它不仅适合文件交换,而且是实现和共享产品数据库及产品数据长期存档的基础,由于产品生命周期包括产品的设计、制造、使用、维护和报废等,因此产品在各阶段中所产生的信息既多又复杂,而且分散在不同的部门和地区,因而产品信息应以计算机能理解的形式表示,而且在交换时保持一致和完整。
STEP标准是一个有多部分组成的国际标准,能满足所有应用CAD系统的工业部门对产品数据传输的需要。 1 文件交换的实现形式 STEP标准提供了不同的产品数据交换实现形式,用于产品数据的可供选择的实现形式有:交换文件、数据库、数据存取、知识库。
交换文件实现形式定义了一套清晰的文本编码,可用于不同系统间交换全套或部分产品数据表达,其文件为ISO10303-21,是最常用的一种实现形式。
文件交换方式利用显式正文二进制编码(目前定义的交换结构实现为显式正文编码文件结构)提供对应用协议中产品数据描述的读和写,即交换文件交换方式。
交换结构由一无二义性的、上下文无关的,又便于软件解释的语法来描述,这种语法用WSN(Wirth Syntax Notation)来表达,用交换结构描述的产品数据形式是通过EXPRESS语言变换而来,可以独立于专门的应用。
交换结构实现方式包括三部分内容:用WSN描述的交换结构语法、EXPRESS语言结构到交换结构的映射规划、交换结构实现方式的数据交换模型。
CAD系统对STEP交换文件的方式如下:STEP前处理器把某一CAD系统(A)内的数据转换成符合STEP交换结构语法的文件(交换文件),STEP后处理器读入STEP文件,把交换结构描述的数据转换成接收系统(另一CAD系统B)内的数据。 2 交换文件结构 交换结构是用易懂的正文编码书写的顺序文件,由头部段(HEADER)和数据段(DATA)组成,整个文件以“ISO-10303-21”开始,随后是头部段和数据段,数据段后紧接交换结构的结束标志“END-ISO-10303-21”。头部段提供了有关整个交换文件的信息,记录内容为文件名、文件生成日期、作者姓名、单位、文件描述、前后置处理程序等;数据段包含了需交换的产品数据,为文件的主体,记录内容为实体的实例及其属性值、实例用标识符和实体名称表示,属性值为简单或聚合数据类型的值或引用其它实例的标识符。头部段和数据段在交换文件中均只能出现一次,而且头部段必须是交换文件的第一段,形式如下:
ISO-10303-21;
HEADER;
……
ENDSEC;
DATA;
……
ENDSEC;
END-ISO-10303-21;
头部段内一些实体的语法与数据段中交换数据的实体相同。头部段中有一个实体必须以下列次序出现:FILE-DESCRIPTION,FILE-NAME,FILE-SCHEMA。
(1) FILE-DESCRIPTION包含一些有关交换文件内容的非正式描述和该文件要求的后处理器层次,其EXPRESS语言描述为:
ENTITY file-description;
DescriptionundefinedIST[1: ?]OF STRING (256);
Implementation-level: STRING (256);
END-ENTITY;
(2) FILE-NAME包含一些与交换文件有关的信息,如文件名、时间标记、作者、组织、实施的STEP版本等。这些信息主要用于相互之间交流。
ENTITY file-name;
name: STRING (256);
time_stamp: STRING (256);
author: LIST[1: ?]OF STRING (256);
organization: LIST[1: ?]OF STRING (256);
step_version: STRING (256);
preprocessor_version: STRING (256);
originating_system: STRING (256);
authorisation: STRING (256);
END-ENTITY;
(3) File-schema给出数据段中的实体从哪些模式中来,列出这些模式名。
ENTITY file-schema;
schema LIST[1: ?]OF schema_mame;
END-ENTITY;
TYPE schema-name=STRING (256);
END-TYEP;
数据段包括由交换结构传输的产品数据。数据段包含的元素实例与头部段中EXPRESS模式一致,数据段以“DATA”开始,以“ENDSEC”结束。实体的实例可以由对应实体属性的参数表构成,交换文件结构提供了数据域方式构成实体的实例。
域结构的简单标记由等号“=”和关键词组成。域结构定义由“&SCOPE”开始,以“ENDSCOPE”标记结束。
#1=&SCOPE
#2=POINT (1.0,2.0,0.0);
#3=POINT (2.0,1.0,0.0);
#4=POINT (3.0,2.0,0.0);
#5=LINE (#2,#3);
#6=LINE (#3,#4);
#7=LINE (#4,#2);
ENDSCOPE.
TRIANG (#5,#6,#7);
SCOPE内的实体还可以出现在SCOPE的输出表中,这些实体在外层范围内也能被引用,如:
#10=&SCOPE
#12=PART (‘PART #74A’,$,$,$);
#13=PART (‘PART #68A’,$,$,$);
#14=PART (‘PART #12C’,$,$,$);
?┇
ENDSECOPE/#13,#14/
ASMBLY ((#12,#13),$,$,$);
#15=APPOVAL((#13),‘JOHN SMITH’);
/#13,#14/就是输出表,说明#13和#14可以被域定义外的实例#15的定义中引用。
某交换文件中定义的实体实例还可被另一交换文件引用,即外部引用。外部引用通过标准定义的实体EXPORT,LIBRARY 和 EXTERNAL 说明。数据段中可以有用户自定义实体,其语法和头部段中的用户自定义实体相同。自定义关键词前加惊叹号“!”,用以区别标准关键词。 3 交换结构的实例 下面以我们在PRO/E软件中所进行转换的某一曲面为例,介绍其中的B样条曲线及裁剪曲线的数据资料:
ISO10303-21;
HEADER;
FILE_DESCRIPTION((”),’1’);
?FILE_NAME(’AA’,’1997-05-7T10:38:13’,(demo’),(”),
?’PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION,9626’,
?’PRO/ENGINEER BY PARAMETRIC TECHNOLOGY CORPORATION,9626’,”);
?FILE_SCHEMA((’CONIFG_CONTROL_DESIGN’));
ENDSEC;
DATA;
?┇
#62=DIRECTION(”,(-1.272870636242E-14,
7.854276517439E-2,-9.969107452720E-1));
#63=VECTOR(”,#62,8.931531177218E0);
#64=CARTESIAN_POINT(”,(8.6746014E2,
4.599915503441E2,8.572025894023E2));
#65=LINE(”,#63,#64);
#66=TRIMMED_CURVE(”,#65,(0.E0),
(1.E0),.T.UNSPECIFIED.);
?┇
?#7921=CARTESIAN_POINT(”,(-5.03991812500E0,
-4.539907812500E0))”
#7922=CARTESIAN_POINT(”,(-5.039992516259E0,
-4.299674908587E0));
?#7923=CARTESIAN_POINT(”,(-5.005327275221E0,
-3.819825597812E0)):
?#7924=CARTESIAN_POINT(”,(-4.851127031985E0,
-3.111257755436E0)):
?┇
?#7942=CARTESIAN_POINT(”,(4.856179540516E0,
-3.131269747094E0)):
?#7943=CARTESIAN_POINT(”,(5.006042814167E0,
-3.827996767523E0)):
?#7944=CARTESIAN_POINT(”,(5.039986556824E0,
-4.301548659935E0)):
?#7945=CARTESIAN_POINT(”,(5.039911875E0,
-4.539907812500E0)):
#7946=B_SPLINE_CURVE_WITH_KNOTS(”,(3,
?(#7921,#7922,#7923,#7924,#7925,#7926,#7927,#7928,
#7929,#7930,#7931,#7932,#7933,#7934,#7935,#7936,
#7937,#7938,#7939,#7940,#7941,#7942,#7943,#7944,#7945),.UNSPECIFIED.,.F.,.F.,(4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4),(0.E0,4.551245480337E-2,
9.093041898227E-2,1.370559261923E-1,1.831577216355E-1,
2.291993295481E-1,2.751429536053E-1,3.208762258061E-1,
3.666924166956E-1,4.123121266253E-1,4.579676167649E-1,
5.034944433999E-1,5.489611032447E-1,5.944279222663E-1,
6.396845461973E-1,6.851511645161E-1,7.301382688311E-1,
7.753465259271E-1,8.203310779470E-1,8.652880997545E-1,
9.102616976199E-1,9.548424524915E-1,1.E0),
.UNSPECIFIED.);
?┇
ENDSEC;
END-ISO-10303-21; 4 结论 STEP作为产品数据交换的标准,能对各CAD系统的数据进行交换和保存;能把产品数据和制造应用程序联系起来;大型研究项目可以通过STEP使各专业小组协同工作,组成一个并行工作环境,和小组之间的信息和数据能及时交流和共享;STEP还可以把企业的数据长期存档。STEP作为数据交换的ISO标准,开发STEP的CAD系统是大趋势,如何开发出符合国际潮流的CAD系统,是我国CAD软件界的主要任务之一。
<( ̄ˇ ̄)/路过 (*^__^*) 嘻嘻…… 路过!!!
不发表意见…… 顶......
楼下跟上..... 路过!!!
不发表意见…… (*^__^*) 嘻嘻…… 顶......
楼下跟上..... 顶!!!!!!!!!! 路过!!!
帮顶…… 顶!!!!!!!!!! 顶!!!!!!!!!! 路过!!!
帮顶…… (*^__^*) 嘻嘻…… 顶......
楼下跟上..... 顶!!!!!!!!!!