U.S. DEPARTMENT OF COMMERCE®® National B«reau ot Standards^ GaAbersbwgr Maryland

Converting the AMRF Part Model Report

To a PDES/STEP Subset

( A Preliminary Implementation

)

by

Y. Tina Lee

Sanford Ressler

National Bureau of Standards

Factory Automation Division

Machine Intelligence Group

July, 1988
Table of Contents

12

3

4

5

INTRODUCTION

OVERVIEW COMPARISON BETWEEN PART MODEL AND

PDES/STEP FILE STRUCTURE

2o 1 FllS F .eo.oooe«««.o..o«.o.oe.«««o.«.«..«o.eo«.«e..a««.e«.o. ....... «o.e. ooo.oe 2.2 Organization....

CONVERSION PROCEDURES

3 . 1 General Rules of Conversion

3.2 Detailed Syntax Conversion Procedures

3.2.1 File Header and File Trailer

3.2.2 File Body

FILE CONVERSION SOFTWARE

REFERENCES

Appendix A: AMRF Part Model Report Example

Appendix B: PDES/STEP Physical File Example.........................................

3

16

18

19

27
Converting the AMRF Part Model Report

To a PDES/STEP Subset

(A Preliminary Implementation

)

by

Y. Tina Lee

Sanford Ressler

National Bureau of Standards

July, 1988

ABSTRACT

This paper identifies the process through which the Topology and

Geometry of product data defined in the AMRF (Automated Manufacturing

Research Facility) Part Model database report are converted to the PDES

(Product Data Exchange Specification) / STEP (Standard for the Exchange of

Product Model Data) physical file.

1 INTRODUCTION

The AMRF Part Model is a data format used to represent the information characterizing a part to be manufactured in the AMRF. The PDES/STEP standard is an international

project to develop a mechanism for the exchange of complete product model data among a

variety of different vendor CAD/CAM systems. Product data in the AMRF Part Model consists of topology, geometry, features, and functionality (tolerances). In this paper, only the

two main resources of product data - topology and geometry - are discussed.

The AMRF Part Model evolved before the PDES/STEP file structure was available to

fill a need in the AMRF. But the actual data contents of AMRF Part Model report and the

PDES/STEP file appear to be quite similar. This paper presents the comparison and conversion between these two file structures.

It is assumed that the audience of this paper is familiar with the AMRF Part Model

(refer to "AMRF Database Report Format : Part Model" [HOPP87] ), the PDES/STEP

exchange format (refer to "The Step File Structure" [IS088] ), and the resource entities of

the Integrated Product Information Model (refer to "PDES/STEP Testing Draft - Washington

Edition" [IS088] ). The PDES/STEP is an ongoing project. The PDES/STEP File Structure

chosen for this development is the February, 1988 version.
OVERVIEW 4

2 OVERVIEW COMPARISON BETWEEN PART MODEL AND

PDES/STEP FILE STRUCTURE

2.1 File Format

Both the Part Model report and the PDES/STEP file are sequential files. They are specified by a context-free grammar. There is no column-dependent information in either

type of the files. However, an AMRF Part Model report is presented in a line-oriented or record-oriented manner, and the PDES/STEP file is a continuous stream of characters.

2.2 Organization

Both the Part Model report and PDES/STEP file are organized in a modular manner.

They both consist of several sections. These sections comprise one or many entities. (The

entries in all sections except the Part Model Header Section are named entities.) In the

Topology and Geometry grammar of Part Model, there are three sections - Header Section,

Topology Section, and Geometry section - in the Part Model report. But, there are only two

sections - Header Section and Data Section - in the PDES/STEP file. Figure 1 shows the

overview file structures of Part Model report and PDES/STEP file.

PART MODEL REPORT

/PART_MODEL

/HEADER

(header entries)

/END_HEADER

/TOPOLOGY

(topology entities)

/END_TOPOLOGY

/GEOMETRY

(geometry entities)

/ENDJ3EOMETRY

/END_PART_MODEL

PDES/STEP FILE

STEP;

HEADER;

(header entities)

ENDSEC;

DATA;

(data entities)

ENDSEC;

ENDSTEP;

Figure i. Overview Comparison Between Part Model Report and PDES/STEP File
CONVERSION: Header Section 5

3 CONVERSION PROCEDURES

This section identifies the general rules and the detailed procedures for converting

physical files from Part Model to PDES/STEP file structure.

3.1 General Rules of Conversion

There are four general rules to be followed in order to generate PDES/STEP files from

Part Model reports.

(1) One of the requirements of PDES/STEP file structure is to minimize file size.

Therefore, throughout every PDES/STEP file, there is no unnecessary space or line added to

it. (Note : Throughout this paper, blank spaces and blank lines have been inserted into the

PDES/STEP format records to aid readability. The reader should note that these blank

spaces and blank lines do not appear in an actual PDES/STEP format file.

)

(2) PDES/STEP comments may appear anywhere except within integers, real numbers, lists, entity identifiers, reserved words, key words, or delimiters. It is up to the programmer to add as many comments as they desire, however, PDES/STEP comments are intended to be read by humans only, they are not significant and should be ignored during lexical analysis. When converting the Part Model report, unnecessary Part Model blanks

should be ignored, and Part Model comments may be ignored or may be converted to

PDES/STEP comments.

(3) Throughout the Data Section of PDES/STEP file, entity occurrences must be

defined before they may be referenced. Therefore, the order of the presentation entities is

significant.

(4) An entity name in Part Model report file is a sequence of 1 to 16 alphanumeric

ASCII characters, the first of which must be alphabetic. However, a PDES/STEP entity

name is an integer, this integer may comprise any combination of 1 to 9 digits as long as uniqueness within the file is maintained. Therefore, entity name conversion (from ASCII to

integers) is required when file conversion is performed. It is suggested to use a hash table

for such conversion.
CONVERSION: Header Section 6

3.2 Detailed Syntax Conversion Procedures

This section provides a reference of the converting records from the format of the Part

Model to the format of the PDES/STEP file structure. This section comprises several subsections. These subsections are devided by the types of file records. For convenience,

reserved words or keywords are expressed in uppercase letters, and variable attributes are expressed in lowercase letters.

3.2.1 File Header and File Trailer

Part Model Report Constructs PDES/STEP File Constructs

/PART_MODEL STEP;

/END_PART_MODEL ENDSTEP;

3.2.2 File Body

3.2.2.1 Header Section

Part Model Report Constructs PDES/STEP File Constructs

/HEADER HEADER;

PART_NAME -

’part„name’.

FILE„IDENTIFICATION(

’part_jiame\ ’date’,

’author

5

, ’organization’,

’step_version\

’preprocessor_version’,
CONVERSION: Data Section 7

’originating_system’);

FILE_DESCRIPTION( ’file_description’);

IMP_LEVEL(

’impjevel’);

Algorithm:

All attributes in PDES/STEP Header Section, except attributes

part__name and date , are supplied by programmer. Attribute part_name

is read from Part Model report, and attribute date, the date and time of

the file created, can be returned by a system call.

/END HEADER ENDSEC;

3.2.2.2 Data Section

(I). Header and Trailer of Data Section

Part Model Report Constructs PDES/STEP File Constructs

/TOPOLOGY (no action)

/END_TOPOLOGY ENDSEC;

/GEOMETRY DATA;

/END_GEOMETRY (no action)
CONVERSION: Data Section 8

(II). Body of Data Section

As mentioned previously, entity occurrences in PDES/STEP Data

Section must be defined before they may be referenced. This section

has been organized by the presentation order of actual PDES/STEP

physical file. However, other presentation orders may also be

accepted. For example, point entities may be placed after unit

vector entities.

The PDES/STEP entities defined in this section are representative of a common approach, other syntactical representations are

possible.

Conversion of entity names between Part Model and PDES/STEP

has been discussed previously. For convenience, Part Model entity

names are expressed as: entity type_id or entity type_id_i

and the corresponding PDES/STEP entity names are expressed

as: entity type_integer_id or entity type_integer_id_,i.

(a). Point Entities

Part Model Report Constructs PDES/STEP File Constructs

/POINTS (no action)

point„id; @point_integer„id =

x,

y>

CARTESIAN_THREE„COORDINATE

(x,

y5
CONVERSION: Data Section 9

z. z);

/END.POINTS (no action)

(b). Unit Vector Entities

Part Model Report Constructs PDES/STEP File Constructs

/UNIT_VECTORS (no action)

unit_vector_id;

x,y5 z„

@unit_vector_integer_id = THREE_SPACE_DIRECTION

(x,

y.

z);

/END_UNIT_VECTORS (no action)
CONVERSION: Data Section 10

(c). Curve Entities

Part Model Report Constructs PDES/STEP File Constructs

/CURVES (no action)

curve_id;

LINE;

point_id;

unit_vector_id.

@curve_integer_id =

LINE(

#point_integer_id,

#unit_vector_integerJd);

curve_id;

CIRCLE;

point_id_ 1

unit_vector_id;

point_id_2.

@curve_integer_id = CIRCLE(

radius,

AXIS2_PLACEMENT(

#point_integer_id_l

,

#unit_vector_integer_id,

THREE_SPACE_DIRECTION

( x, y, z )));

Algorithm: —

_

vl = vector ( point_id_l ) v2 = vector ( point_id_2 ) radius = distance ( vl, v2 )

( x, y, z ) = ( v2 - vl ) / radius

/END__CURVES (no action)
CONVERSION: Data Section 11

(d). Surface Entities

Part Model Report Constructs PDES/STEP File Constructs

/SURFACES (no action)

surface_id; @surface_integer_id = PLANE; PLANE(AXIS2_PLACEMENT(

unit_vector_id; CARTESIAN_THREE_COORDINATE

number. ( x, y, z ), #unit_vector_integer_id));

Algorithm:

v = vector ( unit_vector_id)

( x, y, z ) = number * v

surface_id;

CYLINDER;

point_id;

unit_vector_id;

number.

@surface_integer_id = CYLINDRICAL_SURFACE(

number,

AXIS2_PLACEMENT(

#point_integer_id,

#unit_vector_integer_id) )

;

surface_id;

SPHERE;

point_id;

number.

@surface_integer_id = SPHERICAL_SURFACE(

number,

AXIS2_PLACEMENT(
CONVERSION: Data Section 12

#point_integer_id));

surface_id;

CONE;

point_id;

unit_vector_id;

number.

@surface_integer_id = CONICAL_SURFACE(

semi_angle5 0. 0, AXIS2_PLACEMENT(

#point_integer_id,

#unit_vector_integer_id));

Algorithm:

semi^angle = arccos ( number) * 180.0 / 3.14159

/END_SURFACES (no action)

(e). Vertex Entities

Part Model Report Constructs PDES/STEP File Constructs

/VERTICES (no action)

vertex„id; @vertex_integer_id = VERTEX
CONVERSION: Data Section 13

point_id. (#point_integer_id);

/END_VERTICES (no action)

(f). Edge Entities

Part Model Report Constructs PDES/STEP File Constructs

/EDGES (no action)

edge_id;

vertex_id_l,

vertex_id_2;

curve_id

sense.

@edge_integer_id = EDGE(

#vertex_integer_id_l

,

#vertex_integer_id_2,

CURVE_LOGICAL_STRUCTURE( #curve_integer_id,

flag));

Algorithm:

If sense =

If sense = "+"

then flag = .F. then flag = .T.

/END_EDGES (no action)
CONVERSION: Data Section

(g) Loop Entities

Part Model Report Constructs PDES/STEP File Constructs

/LOOPS (no action)

loop_id;

edge_id_l

sense_l,

edge_id_2

sense_2,

edge_id_n

sense_n;

@loop_integer_id = EDGE_LOOP(

(EDGE_LOGICAL_STRUCTURE

(#edge_integer_id_ 1

,

flag_l),

EDGE_LOGICAL_STRUCTURE

(#edge_integer_id_2,

flag_2).

EDGE_LOGICAL_STRUCTURE

(#edge_integer_id_n,

flag_n)));

Algorithm:

If sense.. ^

ft t» then flag_l =.F.

If sense..1 = "+" then flag_l =.T.

If sense. 2 _ «... then flag_2 = oF. If sense. 2 =

,, +" then flag_2 = .T.

If sense._n =

,, - H then flag_n = .F. If sense._n = then flag_n = .T.

/END_LOOPS (no action)
CONVERSION: Data Section 15

(h). FACE Entities

Part Model Report Constructs PDES/STEP File Constructs

/FACES (no action)

loop_id; @loop_integer_id = FACE(,

loop_id_l, (LOOP_LOGICAL_STRUCTURE

loop_id_2, (#loop_integer_id_l, .T.),

O LOOP_LOGICAL_STRUCTURE

• (#loop_integer_id_2, .T.),

loop_id_n; 0 surface_id • sense. LOOP_LOGICAL_STRUCTURE

(#loop_integer_id_n, .T.)),

SURFACE_LOGICAL_STRUCTUI

(#surface_integer_id,

flag));

Algorithm:

If sense = then flag = .F. If sense = "+" then flag = «T.

/END_FACES (no action)
FILE CONVERSION SOFTWARE 16

(i). SHELL Entities

Part Model Report Constructs PDES/STEP File Constructs

/SHELLS

shell_id;

face_id_l,

face„id_2,

(no action)

@shell_integer_id = CLOSED_SHELL((

FACE_LOGICAL_STRUCTURE

(face_integer_id_l, .T.),

FACEJLOGICAL_STRUCTURE

(face_integer_id_2, .T.),

face_id_n.

FACE_LOGICAL_STRUCTURE

(face_integer_id_n, .T.)));

/END.SHELLS (no action)

4 FILE CONVERSION SOFTWARE

Based on the previously described conversion procedures, an AMRF Part Model to

PDES/STEP file structure translator has been implemented using Lex, YACC, and C on the

Sun Microsystems Workstation. This translator interprets the Part Model report and transforms information data into a set of data structures by using the Part Model Parser

[RES S 87], it then selects and manipulates the information data from data structures, and

produces a PDES/STEP physical file.

An example of a test run is provided for illustrating the actual usage of the translator.

Appendix A contains the listing of the input Part Model report (part name is

PIPECLAMP_FV), and Appendix B contains the listing of the output PDES/STEP physical

file. Figure 2 presents the sketch of "PIPECLAMP„FV".
FILE CONVERSION SOFTWARE 17
REFERENCES 18

5 REFERENCES

[HOPP87] Hopp, T., "AMRF Database Report Format : Part Model”, NBSIR 87-

3672, National Bureau of Standards, Gaithersburg, Maryland, September

1987.

[RESS87] Ressler, S., "Using the AMRF Part Model Report", NBSIR 87-3531,

National Bureau of Standards, Gaithersburg, Maryland, February, 1987.

[IS088] International Organization for Standardization Committee, "STEP/PDES

Testing Draft", TCI 84/S C4/WG1, ISO, February, 1988
Appendix A: AMRF Part Model Report Example

/ P ART_MODEL

/HEADER

PART_NAME = ' P IPECLAMP_FV' . / END_HEADER

/TOPOLOGY

/SHELLS

SHL001;

FAC 0 01, FAC 0 02, FAC003, FAC004, FAC005,

FACO 0 6 , FAC007, FAC008, FAC009, FAC010,

FAC 0 1 1 , FAC 012, FAC013, FAC014, FAC015,

FACO 1 6 , FAC 017, FAC018, FAC019, FAC020,

FAC 021, FAC 022, FAC023, FAC024, FAC025,

FACO 2 6 , FAC 027, FAC028 . /END_SHELLS

/FACES

FACO 01; LOPOOl; SUR001 - . FACO 02; LOP 002; SUR002 + . FACO 03; LOP 0 03; SUR003 + . FAC 0 0 4; LOP 0 0 4; SUR004 - . FAC 0 0 5"; LOP 0 05; SUR005 + . FACO 0 6

;

LOP 0 0 6, LOP 030; SUR006 + . FACO 07; LOP 0 07; SUR007 + . FACO 0 8

;

LOP 0 0 8 ; SUR008 + . FACO 0 9

;

LOP 0 0 9; SUR009 + . FACO 10; LOP010; SUR010 + . FAC Oil; LOP Oil; SUR011 + . FACO 12

;

LOPO 12

,

LOP 032; SUR012 - . FACO 13

;

LOP 013; SUR013 - . FACO 14; LOPO 14, LOP 031; SUR014 + . FACO 15; LOP 015, LOP033; SUR015 + . FACO 1 6

;

LOP016, LOPO 34; SUR016 + . FAC 017; LOPO 17

,

LOP 037; SUR017 + . FAC 018; LOPO 18

,

LOP 038; SUR018 + . FAC019; LOP019, LOP 03 9; SUR019 + . FACO 20

;

LOP020, LOP 042; SUR020 + . FACO 2 1

;

LOP 021, LOP 044; SUR021 + . FACO 2 2

;

LOP022, LOP 03 6 , LOPO 41 ; SUR022

FAC023

;

LOP 02 3, LOPO 4 0 , LOPO 45 ; SUR023

FACO 2 4

;

LOP 02 4

,

LOP 02 9 ; SUR001 - . FACO 2 5

;

LOP 025; SUR001 - . FACO 2 6

;

LOP 02 6

,

LOPO 35; SUR008 + . FACO 2 7

;

LOP 027

;

SUR008 + . FACO 2 8

;

LOP 02 8

,

LOPO 43 ; SUR018 + . /END_FACES

/LOOPS

LOPOOl; EDG001 + r EDG041 + r EDG025 / EDG040

LOP 002; EDG002 ~ r EDG042 + r EDG026 + f EDG041

LOP 0 03; EDG003 r EDG044 + r EDG027 + f EDG043

LOP 0 0 4; EDG004 + r EDG046 + r EDG028 r EDG045

LOP 0 05; EDG005 + r EDG047 + r EDG029 ” r EDG046
Appendix A: AMRF Part Model Report Example

LOP 0 0 6; EDG006 / EDG048 + r EDG030 + r EDG047

LOP 0 07; EDG007 “ / EDG049 + r EDG031 + r EDG048

LOP 0 0 8; EDG008 + / EDG050 + r EDG032 ! EDG049

LOP 0 0 9; EDG009 — / EDG051 + r EDG033 + ' EDG050

LOP010; EDG010 / EDG053 + r EDG034 + / EDG052

LOP Oil; EDG011 “ f EDG055 + r EDG035 + f EDG054

LOP 012; EDG0 12 ~ r EDG056 + r EDG036 + r EDG055

LOP 013; EDG013 + r EDG040 + r EDG037 ~ r EDG056

LOP 014; EDG016 - LOP 015; EDG018 - LOP 016; EDG019 - LOP 017; EDG014 - LOP 018; EDG022 + LOP 019; EDG022 - LOP 020

EDG015 - LOP 021; EDG024 - LOP 022; EDG001 “ r EDG013 ~ t EDG012 + r EDG011

EDG010 +, EDG059 EDG009 +, EDG008 - EDG006 +, EDG005 EDG004 EDG058 - EDG057 EDG002 + . LOP 023; EDG025 +, EDG026 EDG061 +, EDG027

EDG028 +, EDG029 +, EDG030 EDG031 - EDG033 EDG063 +, EDG034 EDG064 + EDG036 EDG037 + . LOP 02 4

EDG057 + / EDG043 +, EDG061 EDG042

LOP 025; EDG058 + r EDG045 +, EDG062 EDG044

LOP 02 6; EDG059 + r EDG052 +, EDG063 EDG051

LOP 027; EDG060 + e EDG054 +, EDG0 64 EDG053

LOP 02 8; EDG024 + LOP 02 9; EDG016 + LOP 030; EDG017 - LOP 031; EDG017 + LOP 032; EDG018 + LOP033; EDG019 + LOP 034; EDG020 + LOP 035; EDG020 - LOP 036; EDG014 + LOP 037; EDG021 + LOP 038; EDG021 - LOP 03 9; EDG038 + LOP 04 0; EDG038 - LOP 041; EDG015 + LOP 042; EDG023 + LOP043; EDG023 - LOP 0 4 4; EDG039 +

- LOP 0 45; EDG039 - /END_LOOPS

/EDGES

r

EDG001; VTX001, VTX002; CRV001 + . EDG002; VTX004, VTX002; CRV002 + . EDG003; VTX007 , VTX005; CRV003 + . EDG004; VTX008, VTX010; CRV004 + . EDG005; VTX010, VTX011; CRV005 + . EDG006; VTX012, VTX011; CRV006 + .

+ , EDG060 - EDG007 +,

EDG003 + ,

EDG062 + EDG032 + , EDG035
Appendix A: AMRF Part Model Report Example 21

EDG007; VTX014, VTXO 12 ;

CRV007 + EDG008; VTX014, VTXO 15 ; CRV008 + EDG009; VTXO 17 , VTXO 15 ;

CRV009 + EDG010; VTX020, VTXO 18 ;

CRV010 + EDG011; VTX022, VTXO 2 1 ;

CRV011 + EDG012; VTX023 f VTXO 2 2 ;

CRV012 + EDG013; VTX023, VTXO 01; CRV013 + EDG014; ; CRV014 + • EDG015; ; CRV015 + . EDG016 ; ; CRV016 + „ EDG017; ; CRV017 + . EDG018; ; CRV018 + . EDG019; ; CRV019 + . EDG020; ; CRV020 + . EDG021; ; CRV021 + . EDG022 ; ; CRV022 + . EDG023 ; ; CRV023 + . EDG024; ; CRV024 + . EDG025 ;

VTX039, VTXO 40 ;CRV025 + EDG026; VTXO 42, VTXO 40 ;

CRV026 + EDG027; VTXO 45, VTXO 43; CRV027 + EDG028; VTXO 4 6 ,

VTXO 4 8; CRV028 + EDG029; VTXO 48, VTXO 4 9; CRV029 + EDG030; VTX050, VTXO 4 9; CRV030 + EDG031 ;

VTX052, VTX050; CRV031 + EDG032; VTX052, VTXO 53 ;

CRV032 + EDG033; VTX055, VTXO 53; CRV033 + EDG034; VTX058, VTX056; CRV034 + EDG035; VTXO 60 ,

VTXO 5 9; CRV035 + EDG036; VTXO 61, VTXO 60; CRV036 + EDG037; VTXO 61, VTX039; CRV037 + EDG038 ; ; CRV038 + . EDG039 ; ; CRV039 + . EDG040; VTXO 01, VTX039; CRV040 + EDG041; VTXO 02 ,

VTXO 40 ;

CRV041 + EDG042; VTXO 0 4 ,

VTXO 42 ;CRV042 + EDG043; VTXO 05, VTXO 43; CRV043 + EDG044; VTXO 07, VTXO 45; CRV044 + EDG045; VTXO 0 8, VTXO 4 6; CRV045 + EDG046; VTXO 10, VTXO 4 8; CRV046 + EDG047; VTX011, VTXO 4 9; CRV047 + EDG048; VTXO 12 ,

VTX050; CRV048 + EDG049; VTXO 14, VTXO 52 ;

CRV049 + EDG050; VTXO 15, VTXO 53 ;

CRV050 + EDG051 ;

VTXO 17 ,VTXO 55 ;

CRV051 + EDG052 ;

VTX018, VTX056; CRV052 + EDG053; VTX020, VTXO 58; CRV053 + EDG054; VTX021, VTXO 5 9; CRV054 + EDG055; VTX022, VTXO 60 ;

CRV055 + EDG056; VTX023, VTXO 61; CRV056 + EDG057; VTXO 0 4, VTXO 05 ;

CRV001 + EDG058 ;

VTXO 07, VTXO 0 8; CRV001 + EDG059 ;

VTXO 17 ,

VTXO 18 ;CRV008 + EDG060; VTX020, VTXO 2 1 ;

CRV008 +
Appendix A: AMRF Part Model Report Example 22

EDG061; VTX042 f VTX043; CRV025

EDG062; VTX045 r VTX046; CRV025

EDG063; VTX055 r VTX056; CRV032

EDGO 64VTX058 i VTX059; CRV032

/END__EDGES

/VERTICES

VTX001; PT001 o VTX002; PT002 • VTX004; PT004 • VTX005; PT005 • VTX007; PT007 o VTX008; PT008 * VTX010; PT010 • VTX011; PT011 • VTX012; PT012 • VTX014; PT014 • VTX015; PT015 e VTX017; PT017 • VTX018; PT018 • VTX020; PT020 • VTX021; PT021 • VTX022; PT022 • VTX023

PT023 • VTX026; PT026 o VTX028; PT028 o VTX030; PT030 c VTX032; PT032 • VTX034; PT034 • VTX036; PT036 • VTX038; PT038 . VTX039; PT039 • VTX040; PT040 • VTX042; PT042 . VTX043; PT043 • VTX045; PT045 • VTX046; PT046 • VTX048; PT048 . VTX049; PT049 • VTX050; PT050 o VTX052; PT052 . VTX053; PT053 • VTX055; PT055 • VTX056; PT056

VTX058; PT058 • VTX059; PT059 • VTX060; PT060 • VTX061; PT061 o VTX064; PT064 o VTX066; PT066 • VTX068; PT068 o VTX069; PT069 . VTX071; PT071 o VTX072; PT072 a /END VERTICES
Appendix A: AMRF Part Model Report Example 23

/END_TOPOLOGY

/GEOMETRY

/SURFACES

SURO 0 1

;

SUR002;

SURO 03;

SURO 0 4

;

SURO 05;

SURO 0 6

;

SURO 07

SURO 08

SURO 0 9;

SURO 10;

SURO 11;

SURO 12;

SURO 13;

SURO 1 4

;

SURO 15;

SURO 1 6

;

SURO 17

;

SURO 18;

SURO 1 9

;

SURO 2 0

SUR021;

SUR022;

SUR023;

/END_SURFACES

/CURVES

CRV001;

CRV002;

CRV003;

CRV004;

CRVO 05;

CRVO 0 6

;

CRVO 07;

CRVO 0 8

;

CRVO 0 9

;

CRVO 10

;

CRVO 11

CRVO 12;

CRVO 13;

CRVO 1 4

;

CRVO 15;

CRVO 1 6

;

CRVO 17

CRVO 18;

CRVO 1 9

;

CRVO 20

CRVO 2 1

CRVO 2 2

CRV023;

CRVO 2 4

CRV025;

CRVO 2 6

PLANE; UNV0 02; 0.0 . CYLINDER; PT073; UNV003;

CYLINDER; PT074; UNVO 03;

CYLINDER; PT075; UNV003;

PLANE; UNV001; 3.812 . PLANE; UNV0 02; 0.703 . CYLINDER; PT076; UNVO 03;

PLANE; UNV001; 0.703 . CYLINDER; PT077; UNVO 03;

CYLINDER; PT07S; UNV003;

PLANE; UNV002; 5.000 . PLANE; UNV001; 0.0 . CYLINDER; PT079; UNV003;

CYLINDER; PT029; UNV002;

CYLINDER; PT033; UNV001;

CONE; PT080; UNV001; 0.7

CYLINDER; PT025; UNV003;

PLANE; UNV003; 0.46875 . CYLINDER; PT067; UNV003;

CYLINDER; PT027; UNV003;

CYLINDER; PT070; UNV003;

PLANE; UNV003; 0.0 . PLANE; UNV003; 0.500 .

0.281 . 0.281 . 0.281 .

0.500 .

0.281 . 0.281 .

0.500 . 0.281 . 0.203 . 07 . 0.1405 .

0.250 . 0.1405 . 0.250 .

LINE; PT001; UNV001 . CIRCLE; PT073; UNV003; PT002

CIRCLE; PT074; UNV003; PT005

CIRCLE; PT075; UNV003; PT010

LINE; PT010; UNV002 . LINE; PT012; UNV001 . CIRCLE; PT076; UNV003; PT012

LINE; PT014; UNV002 . CIRCLE; PT077; UNV003; PT015

CIRCLE; PT078; UNVO 0 3

;

PT018

LINE; PT022; UNV001 . LINE; PT023; UNV002 . CIRCLE; PT079; UNVO 03; PT001

CIRCLE; PT025; UNV003; PT026

CIRCLE; PT027; UNVO 03

;

PT028

CIRCLE; PT029; UNVO 02; PT030

CIRCLE; PT031; UNVO 02; PT032

CIRCLE; PT033; UNVO 0 1

;

PT034

CIRCLE; PT035; UNV001; PT036

CIRCLE; PT037; UNV001; PT038

CIRCLE; PT067; UNVO 03; PT068

CIRCLE; PT067; UNVO 03; PT069

CIRCLE; PT070; UNV003; PT071

CIRCLE; PT070; UNV003; PT072

LINE; PT039; UNV001 . CIRCLE; PT081; UNVO 03; PT040
Appendix A: AMRF Part Model Report Example 24

CRV027

CRV028

CRV029

CRV030

CRV031

CRV032

CRV033

CRV034

CRV035

CRV036

CRV037

CRV038

CRV039

CIRCLE; PT082; UNV003,

CIRCLE; PT083 ; UNV003,

LINE; PT048; UNV002 . LINE; PT050; UNV001 . CIRCLE; PT084; UNV003,

LINE; PT052; UNV002 . CIRCLE; PT085; UNV003,

CIRCLE; PT086; UNV003,

LINE; PT060; UNV001 . LINE; PT061; UNV001 . CIRCLE; PTQ87; UNV003,

CIRCLE; PT063; UNV003,

CIRCLE; PT065; UNV003,

CRVO 40; LINE; PT001; UNV003

CRVO 4 1 

LINE; PT002; UNV003

CRV042; LINE; PT004; UNV003

CRVO 43; LINE; PT005; UNV003

CRVO 4 4 LINE; PT007; UNV003

CRVO 45 LINE; PT008; UNV003

CRV046; LINE; PT010; UNV0 0 3

CRVO 47; LINE; PT011; UNV0 0 3

CRVO 4 8 LINE; PT012; UNV0 0 3

CRVO 4 9 

LINE; PT014; UNV003

CRVO 50 LINE; PT015; UNV003

CRV051; LINE; PT017; UNV003

CRVO 52 

LINE; PT018; UNV003

CRVO 53; LINE; PT020 UNV0 0 3

CRVO 5 4 LINE; PT021; UNV0 0 3

CRVO 55 

LINE; PT022; UNV0 0 3

CRV056; LINE; PT023 

UNV0 0 3 / END_CURVE S

/POINTS

PT001; 0.5, 0. o o o • PT002; 1.22072 •N o o o o PT004; 1.77928 o o o o PT005; 2.34572 o o o o PT007; 2 . 90428 <*> o o o o PT008; 3.312, o o o .0 . PT010; 3.812, 0.5, 0 .0 . PT011; 3 .812, 0.703, o o PT012 

1.203, 0.703, o o PT014; 0.703, 1.203, o o PT015; 0.703, 1.67372, 0.0

PT017; 0.703, 2.23228, 0.0

PT018; 0.703, 3.17372, 0.0

PT020; 0.703, 3.73228, 0.0

PT021; 0.703, 5.0, 0 .0 . PT022; 0.0, 5. o o o • PT023; o o o 5, 0.0 • PT025; 0.406, 1 . 141, o o PT026; 0.5465, 1 .141 o o PT027; 0 . 406, 4 . 641, o o PT028; 0.5465, 4 . 641 o o PT029; 2.062, o o «> o .25 .

PT043 . PT048 .

PT050 .

PT053 . PT056 .

PT039 . PT064 . PT066 .
Appendix A: AMRF Part Model Report Example 25

PT030; 2.2025, o o o . 25 . PT031; 2.062, 0.703, 0 .25 . PT032; 2.2025, 0.703, 0.25 . PT033; CM o O 703, 0. 25 . PT034; 0.0, 2. 8045, 0 • 25 . PT035; 0.664, 2.703, 0 .25 . PT036; 0.664, 2 . 8045, 0.25 . PT037; 0.703, 2.703, 0 .25 . PT038; 0.703, 2.8435, 0.25 . PT039; 0.5, 0. 0, 0.5 . PT040; 1.22072 o o 0 .5 . PT042; 1.77928 O o V 0 .5 . PT043; 2.34572 < o o 0 .5 . PT045; 2.90428 w o o 0 .5 . PT046; 3.312, o o o 5 • PT048; 3.812, 0.5, 0. 5 • PT049; 3.812, 0.703, 0 .5 . PT050; 1.203, 0.703, 0 .5 . PT052; 0.703, 1.203, 0 .5 . PT053 ;

0.703, 1.67372 f 0.5 . PT055; 0.703, 2.23228 f 0.5 . PT056; 0.703, 3 . 17372 r 0.5 . PT058; 0.703, 3.73228 r 0.5 . PT059; 0.703, o s. o

in 5 • PT060; 0.0, 5 . o o m • PT061; o o o 5, 0.5 • PT063; 0 . 406, 1 . 141, 0 .5 . PT064; 0 . 656, 1 . 141, 0 .5 . PT065; 0 . 406, 4 . 641, 0 .5 . PT066; 0 . 656, 4 . 641, 0 .5 . PT067 ;

0.406, 1 .141, 0 .46875

PT068; 0.5465, 1 .141, 0 .46875

PT069; 0 . 656, 1.141, 0 .46875

PT070; 0 . 406, 4 . 641, 0 .46875

PT071; 0.5465, 4.641, 0.46875

PT072; 0 . 656, 4 . 641, 0 .46875

PT073; 1.500, -0.031, o o PT074; 2 . 625, -0 . 031, o o PT075; 3.312, 0.500, 0 .0 . PT076; 1.203, 1.203, 0 .0 . PT077; 0.734, 1.953, 0 .0 . PT078; 0.734, 3 . 453, 0 .0 . PT079; 0.500, 0.500, 0 .0 . PT080; 0.5625, 2.703, 0.250 . PT081; 1.500, -0 . 031, 0.5 . PT082; 2 . 625, -0 . 031, 0.5 . PT083; 3.312, 0.500, 0 .5 . PT084; 1.203, 1.203, 0 .5 . PT085; 0.734, 1.953, 0 .5 . PT086; 0.734, 3.453, 0 .5 . PT087; 0.500, 0 .500, 0 .5 . /END_POINTS

/UNIT_VECTORS

UNV001; 1.0, 0, 0 .
Appendix A: AMRF Part Model Report Example 26

UNV0 02; 0, 1.0, 0 . UNVO 03; 0 , 0 , 1.0 . / END_UNIT_VECTORS

/ END_GEOMETRY

/END PART MODEL
Appendix B: PDES/STEP Physical File Example

!* The file structure of this STEP file is based on the

Document 4.2.1 (Draft Paper) - Feb. 22, 1988, and

Testing Draft:PART 2 of IPIM (Washington) - Feb. 29, 1988.

This STEP file has been presented in a line-oriented or record-oriented manner in order to aid readability.

Unnecessary spaces have also been added to aid readability.

Note that an ordinary STEP file is not aligned in this

manner, but is instead a continuous stream of characters.

*|

STEP;

HEADER;

FILE_IDENTIFICATION

(

'PIPECLAMP_FV'

,

' 19880627 . 100730'

,

'Tina Lee & Sandy Ressler, (301) -975-3550 or 3549',

'National Bureau of Standards, Factory Automation Systems Division',

'STEP VERSION 1.0',

' AMRF Part Model to Step File Translator, Version 1.0',

' AMRF PART MODEL' )

;

FILE_DESCRIPTION ( ' THIS FILE IS TRANSLATED FROM AN AMRF PART MODEL FILE')

IMP_LEVEL ( ' 1.0');

END SEC;

DATA;

01 = CARTES I AN_THREE_COORDINATE ( 0.500000

02 = CARTES IAN_THREE_COORDINATE ( 1.220720

03 = CARTES I AN_THREE_COORDINATE ( 1.779280

04 = CARTES I AN_THREE_COORDINATE ( 2.345720

05 = CARTES IAN_THREE_COORD INATE ( 2.904280

06 = CARTES I AN_THREE_COORD INATE ( 3.312000

07 = CARTE S I AN_THREE_COORD INATE ( 3.812000

08 = CARTES I AN_THREE_COORD INATE ( 3.812000

09 = CARTESIAN THREE COORDINATE ( 1.203000

010 = CARTE S I AN_THREE_COORD INATE

(

011 = CARTES I AN_THREE_COORD INATE

(

012 = CARTE S I AN_THREE_COORD INATE

(

013 = CARTE S I AN_THREE_COORD INATE

(

014 = CARTES I AN_THREE_COORD INATE

(

015 = CARTES I AN_THREE_COORD INATE

(

016 = CARTE S I AN_THREE_COORD INATE

(

017 = CARTES IAN_THREE_COORD INATE

(

018 = CARTE S I AN_THREE_COORD INATE

(

019 = CARTE S I AN_THREE_COORD INATE

(

020 = CARTES I AN_THREE_COORD INATE

(

021 = CARTE S I AN_THREE_COORD INATE

(

022 = CARTE S I AN_THREE_COORD INATE

(

023 = CARTESIAN THREE COORDINATE

(

0 . 000000 , 0 . 000000 );

0 . 000000 , 0 . 000000 ) ; 0 . 000000 , 0 . 000000 );

0 . 000000 , 0 . 000000 );

0 . 000000 , 0 . 000000 );

0 . 000000 , 0 . 000000 );

0.500000, 0.000000);

0.703000, 0.000000);

0.703000, 0.000000);

0.703000, 1.203000, 0.000000) ; 0.703000, 1 . 673720, 0.000000)

;

0.703000, 2.232280, 0.000000) ; 0.703000, 3.173720, 0.000000) ; 0.703000, 3.732280, 0.000000) ; 0.703000, 5 .000000, 0.000000) ; 0 . 000000 , 5.000000, 0.000000) ; 0 . 000000 , 0.500000, 0.000000) ; 0.406000, 1 . 141000, 0.000000)

;

0.546500, 1.141000, 0 . 000000) ; 0.406000, 4 . 641000, 0.000000) ; 0.546500, 4 . 641000, 0.000000);

2.062000, 0 . 000000 , 0.250000) ; 2.202500, 0 . 000000 , 0.250000) ;
Appendix B: PDES/STEP Physical File Example 28

@24 = CARTES I AN_THREE_COORD INATE

(

@25 = CARTES I AN_THREE_COORD INATE

(

@26 = CARTE S I AN_THREE_COORD INATE

(

@27 = CARTES I AN_THREE_COORD INATE

(

@28 = CARTES I AN_THREE_COORD INATE

(

@29 = CARTE S I AN_THREE_COORD INATE

(

@30 = CARTE S I AN_THREE_COORD INATE

(

@31 = CARTES IAN_THREE__COORD INATE ( @32 = CARTES I AN_THREE_COORD INATE

(

@33 = CARTE S I AN_THREE_COORD INATE

(

@34 = CARTE S IAN_THREE_COORD INATE

(

@35 = CARTE S I AN_THREE_COORD INATE

(

@36 = CARTES I AN_THREE_COORD INATE

(

@37 = CARTES I AN_THREE__COORD INATE ( @38 = CARTE S IAN_THREE_COORD INATE

(

@39 = CARTE S IAN_THREE_COORD INATE

(

@40 = CARTES I AN_THREE_COORD INATE

(

@41 = CARTES I AN_THREE_COORD INATE

(

@42 = CARTES IAN_THREE__COORD INATE ( @43 = CARTE S IAN_THREE_COORD INATE

(

@44 = CARTE S IAN_THREE__COORD INATE ( @45 = CARTES I AN_THREE_COORD INATE ( @46 = CARTES I AN_THREE_COORD INATE

(

@47 = CARTES I AN_THREE_COORD INATE

(

@48 = CARTES I AN_THREE_COORD INATE

(

@49 = CARTES IAN_THREE_COORD INATE

(

@50 = CARTES XAN_THRRE_COORD INATE

(

@51 = CARTES IAN_THREE_COORD INATE

(

@52 = CARTES I AN_THREE_COORD INATE

(

@53 = CARTES I AN__THREE_COORD INATE ( @54 = CARTES I AN_THREE_COORD INATE

(

@55 = CARTES I AN_THREE__COORD INATE ( @56 = CARTES I AN_THREE_COORD INATE

(

@57 = CARTES IAN__THREE__COORD INATE ( @58 = CARTES I AN_THREE__COORD INATE ( @59 = CARTES I AN_THREE__COORD INATE ( @60 = CARTES I AN_THREE_COORD INATE

(

@61 = CARTES I AN_THREE_COORD INATE

(

@62 = CARTE S IAN_THREE_COORD INATE

(

@63 = CARTES IAN_THREE_COORD INATE

(

@64 = CARTES IAN_THREE_COORD INATE

(

@65 = CARTES IAN_THREE_C00RD1NATE

(

@66 = CARTES I AN_THREE_COORD INATE

(

@67 = CARTES I AN_THREE_COORD INATE

(

@68 = CARTES I AN_THREE_COORD INATE

(

@69 = CARTES I AN_THREE_COORD INATE

(

@70 = CARTES IAN__THREE_COORDINATE ( @71 = CARTES I AN_THREE_COORD INATE

(

@72 = CARTES IAN_THREE_COORD INATE

(

@73 = CARTE S I AN_THREE_COORD INATE

(

! * Done : Points *

2.062000, 0.703000, 0.250000) ; 2.202500, 0.703000, 0.250000) ; 0.000000, 2.703000, 0.250000) ; 0.000000, 2.804500, 0.250000) ; 0 . 664000, 2.703000, 0.250000) ; 0 . 664000, 2.804500, 0.250000) ; 0.703000, 2.703000, 0.250000) ; 0.703000, 2.843500, 0.250000) ; 0.500000, 0.000000, 0.500000) ; 1.220720, 0.000000, 0.500000)

1.779280, 0.000000, 0.500000)

2.345720, 0.000000, 0.500000) ; 2 . 904280, 0.000000, 0.500000) ; 3.312000, 0.000000, 0.500000)

3 .812000, 0.500000, 0.500000) ; 3.812000, 0.703000, 0.500000) ; 1.203000, 0.703000, 0.500000)

0.703000, 1.203000, 0.500000) ; 0.703000, 1.673720, 0.500000)

0.703000, 2.232280, 0.500000)

0.703000, 3.173720, 0.500000) ; 0.703000, 3.732280, 0.500000) ; 0.703000, 5.000000, 0.500000) ; 0.000000, 5.000000, 0.500000) ; 0.000000, 0.500000, 0.500000) ; 0 . 406000, 1.141000, 0.500000)

0 . 656000, 1 .141000, 0.500000)

0.406000, 4.641000, 0.500000)

0 . 656000, 4.641000, 0.500000) ; 0.406000, 1.141000, 0.468750) ; 0.546500, 1.141000, 0 .468750)

0 . 656000, 1.141000, 0 .468750)

0.406000, 4.641000, 0.468750) ; 0.546500, 4.641000, 0.468750) ; 0 . 656000, 4 . 641000, 0.468750)

1.500000, -0.031000 , 0.000000)

2 . 625000, -0.031000 , 0.000000)

3.312000, 0.500000, 0.000000)

1.203000, 1.203000, 0.000000)

0.734000, 1.953000, 0.000000) ; 0.734000, 3.453000, 0.000000) ; 0.500000, 0.500000, 0.000000) ; 0.562500, 2.703000, 0.250000) ; 1.500000, -0.031000 , 0.500000)

2 . 625000, -0.031000 , 0.500000)

3.312000, 0.500000, 0.500000) ; 1.203000, 1.203000, 0.500000)

0.734000, 1.953000, 0.500000) ; 0.734000, 3.453000, 0.500000) ; 0.500000, 0.500000, 0.500000)

@74 = THREE_SPACE_DIRECTION ( 1.000000, 0.000000, 0.000000);

@75 = THREE SPACE DIRECTION( 0.000000, 1.000000, 0.000000);
Appendix B: PDES/STEP Physical File Example 29

@76 = THREE_SPACE_DIRECTION ( 0.000000, 0.000000, 1

!* Done : UnitVectors *!

@77 = LINE ( #1, #74) ; @78 = CIRCLE ( 0.280995, AXI S 2_P LACEMENT (#59, #76,

THREE_SPACE_DIRECTION (-0 . 993896, 0 . 110322,

@79 = CIRCLE ( 0.280995, AXIS2_PLACEMENT ( # 60 , #76,

THREE_SPACE_DIRECTION ( — 0 . 993896, 0 . 110322,

@80 = CIRCLE ( 0.500000, AXI S2_PLACEMENT (#61, #76,

THREE_SPACE_DIRECTION (1.000000, 0.000000, 0

@81 = LINE ( #7, #75)

;

@82 = LINE ( #9, #74) ; @83 = CIRCLE ( 0.500000, AXIS2_PLACEMENT (#62, #76,

THREE_SPACE_DIRECT ION (0 . 000000, -1.000000,

@84 = LINE ( #10, #75)

;

@85 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#63, #76,

THREE_SPACE_DIRECTION (-0 . 110322, -0 . 993896,

@86 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#64, #76,

THREE_SPACE_DIRECTION (-0 . 110322, -0 .993896,

@87 = LINE ( #16, #74)

;

@88 = LINE ( #17, #75)

;

@89 = CIRCLE ( 0.500000, AXIS2_PLACEMENT (#65, #76,

THREE_SPACE_DIRECTION (0 . 000000, -1.000000,

@90 = CIRCLE ( 0.140500, AXI S2_PLACEMENT ( #1 8 , #76,

THREE_SPACE_DIRECT ION (1 . 000000, 0.000000, 0

@91 = CIRCLE ( 0.140500, AXIS2_PLACEMENT (#20, #76,

THREE_SPACE_DIRECT ION (1 . 000000, 0.000000, 0

@92 = CIRCLE ( 0.140500, AXIS2_PLACEMENT (#22, #75,

THREE_SPACE_DIRECT ION (1 . 000000, 0.000000, 0

@93 = CIRCLE ( 0.140500, AXIS2_PLACEMENT (#24, #75,

THREE_SPACE_DIRECTION (1.000000, 0.000000, 0

@94 = CIRCLE ( 0.101500, AXIS2_PLACEMENT (#26, #74,

THREE_SPACE_DIRECT ION (0 . 000000, 1.000000, 0

@95 = CIRCLE ( 0.101500, AXIS2_PLACEMENT (#28, #74,

THREE_SPACE_DIRECT ION (0 . 000000/ 1.000000, 0

@96 = CIRCLE ( 0.140500, AXIS2_PLACEMENT (#30, #74,

THREE_SPACE_DIRECT ION (0 . 000000, 1.000000, 0

@97 = CIRCLE ( 0.140500, AXI S2_PLACEMENT ( #53 , #76,

THREE_SPACE_DIRECTION (1 . 000000, 0.000000, 0

@98 = CIRCLE ( 0.250000, AXIS2_PLACEMENT (#53, #76,

THREE_SPACE_DIRECTION (1 . 000000, 0.000000, 0

@99 = CIRCLE ( 0.140500, AXIS2_PLACEMENT (#56, #76,

THREE_SPACE_DIRECTION (1 . 000000, 0.000000, 0

@100 = CIRCLE ( 0.250000, AXIS2_PLACEMENT (#56, #76,

THREE_SPACE_DIRECTION (1.000000, 0.000000, 0

@101 = LINE ( #32, #74)

;

@102 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#67, #76,

THREE_SPACE_DIRECTION (-0 . 993896, 0 . 110322,

@103 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#68, #76,

THREE_SPACE_DIRECTION (-0 .993896, 0 . 110322,

@104 = CIRCLE ( 0.500000, AXIS2_PLACEMENT (#69, #76,

THREE_SPACE_DIRECT ION (1.000000, 0.000000, 0

@105 = LINE ( #38, #75)

;

@106 = LINE ( #40, #74) ;

. 000000 )

;

0 . 000000 )));

0 . 000000 )));

.000000)));

0 . 000000 )));

0 . 000000 )));

0 . 000000 )));

0 . 000000 )));

.000000)));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

. 000000 )));

0 . 000000 )));

0 . 000000 )));

. 000000 )));
Appendix B: PDES/STEP Physical File Example 30

@107 = CIRCLE ( 0.500000, AXIS2_PLACEMENT (#70, #76,

THREE_SPACE_DIRECTION (0 . 000000, -1 .000000, 0.000000)

)

@108 = LINE ( #41, #75);

@109 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#71, #76,

THREE_SPACE_DIRECTION (— 0 . 110322, -0 . 993896, 0.000000)

@110 = CIRCLE ( 0.280995, AXIS2_PLACEMENT (#72, #76,

THREE_SPACE_DIRECTION (-0 . 110322, -0 . 993896, 0.000000)

@111 = LINE ( #47, #74);

@112 = LINE ( #48, #74);

@113 — CIRCLE ( 0.500000, AXIS2__PLACEMENT (#73, #76,

THREE_SPACE_DIRECTION(0 .000000, -1.000000, 0.000000)

)

@114 — CIRCLE ( 0.250000, AXIS2_PLACEMENT (#49, #76,

THREE_SPACE_DIRECT ION (1 . 000000, 0.000000, 0 .000000) )

)

@115 — CIRCLE ( 0.250000, AXIS2_PLACEMENT (#51, #76,

THREE_SPACE_DIRECT ION (1 . 000000, 0.000000, 0 .000000) )

)

@116 = LINE ( #1, #76);

@117 = LINE ( #2, #76);

@118 = LINE ( #3, #76);

@119 = LINE ( #4, #76);

@120 = LINE ( #5, #76);

@121 = LINE ( #6, #76);

@122 = LINE ( #7, #76);

@123 = LINE ( #8, #76);

@124 = LINE ( #9, #76);

@125 = LINE ( #10, #76);

@126 = LINE ( #11, #76);

@127 = LINE ( #12, #76);

@128 = LINE ( #13, #76);

@129 = LINE ( #14, #76);

@130 = LINE ( #15, #76);

@131 = LINE ( #16, #76);

@132 = LINE ( #17, #76);

!

Done : Curves *

) ;

) ) ;

) ) ;

) ;

@133 = PLANE ( AXXS2JPLACEMENT ( CARTES IAN_THREE_COORDINATE ( 0.000000, 0.000000, 0.000000),

@134 = CYLINDRICAL_SURFACE ( 0.281000, AXIS2_PLACEMENT (#59, #76))

@135 = CYLINDRICAL_SURFACE ( 0.281000, AXIS2_PLACEMENT ( #60 , #76))

@136 = CYLINDRICAL_SURFACE ( 0.281000, AXIS2_PLACEMENT (#61, #76))

@137 = PLANE ( AXIS2__PLACEMENT ( CARTES I AN_THREE_COORD INATE ( 3.812000, 0.000000, 0.000000),

@138 = PLANE ( AXIS2_PLACEMENT

(

CARTES I AN_THREE_COORD INATE ( 0.000000, 0.703000, 0.000000),

@139 = CYLINDRICAL__SURFACE ( 0.500000, AXIS2__PLACEMENT (#62, #76))

@140 = PLANE ( AXIS2_PLACEMENT

(

CARTES I AN_THREE_COORD INATE ( 0.703000, 0.000000, 0.000000),

@141 = CYLINDRICAL__SURFACE ( 0.281000, AXIS2_PLACEMENT (#63, #76))

@142 = CYLINDRICAL_SURFACE ( 0.281000, AXIS2 ^PLACEMENT (#64, #76))

@143 = PLANE ( AXIS2__PLACEMENT ( CARTES IAN _THREE_COORD INATE ( 0.000000, 5.000000, 0.000000),

@144 = PLANE ( AXIS2_PLACEMENT

(

CARTES IAN_THREE_COORD INATE ( 0.000000, 0.000000, 0.000000),

@145 = CYLINDRICAL_SURFACE ( 0.500000, AXIS2_PLACEMENT (#65, #76))

@146 = CYLINDRICAL SURFACE ( 0.281000, AXIS 2 PLACEMENT ( #22 , #75))

#75) )

#74) ) ;

#75) )

#74) ) ;

#75) )

#74) )
Appendix B: PDES/STEP Physical File Example 31

@147 = CYLINDRICAL_SURFACE ( 0.203000, AXIS2_PLACEMENT (#26, #74));

@148 = CONICAL_SURFACE ( 45.008690, 0.0, AXIS2_PLACEMENT (#66, #74));

@149 = CYLINDRICAL_SURFACE ( 0.140500, AX I S 2_P LACEMENT (#18, #76));

@150 = PLANE ( AXI S2_P LACEMENT

(

CARTESIAN THREE_COORDINATE( 0.000000, 0.000000, 0.468750), #76));

@151 = CYLINDRICAL_SURFACE ( 0.250000, AXIS2_P LACEMENT ( #53 , #76));

@152 = CYLINDRICAL_SURFACE ( 0.140500, AXI S2_P LACEMENT ( #2 0 , #76));

@153 = CYLINDRICAL_SURFACE ( 0.250000, AXI S2_P LACEMENT (#56, #76));

@154 = PLANE ( AXI S2_P LACEMENT

(

CARTES IAN_THREE_COORDINATE

(

@155 = PLANE ( AXI S2_P LACEMENT

(

0.000000, 0.000000, 0.000000) , #76) ) ;

CARTES I AN_THREE_COORDINATE

(

! * Done : Surfaces *

!

0.000000, 0.000000, 0.500000)

,

#76) )

;

@15 6 = VERTEX

(

#1)

@157 = VERTEX #2)

@158 = VERTEX

(

#3)

@159 = VERTEX

(

#4)

@160 = VERTEX #5)

@161 = VERTEX

(

#6)

@162 = VERTEX

(

#7)

@163 = VERTEX #8)

@164 = VERTEX

(

#9)

@165 = VERTEX

(

#10) ; @166 = VERTEX

(

#11) ; @167 = VERTEX

(

#12) ; @168 = VERTEX

(

#13) ; @169 = VERTEX

(

#14) ; @170 = VERTEX

(

#15) ; @171 = VERTEX

(

#16) ; @172 = VERTEX

(

#17) ; @173 = VERTEX

(

#19) ; @174 = VERTEX

(

#21) ; @175 = VERTEX

(

#23) ; @176 = VERTEX

(

#25 ? @177 = VERTEX

(

#27)

@178 = VERTEX #29)

@179 = VERTEX # 31 ) ; @180 = VERTEX

(

#32 ; @181 = VERTEX

(

#33 ; @182 = VERTEX

(

#34)

@183 = VERTEX #35)

@184 = VERTEX * 36 ) @185 = VERTEX

(

* 31 ) @186 = VERTEX

(

# 38

)

@187 = VERTEX

(

* 39 ) ; @188 = VERTEX

(

#40) ; @189 = VERTEX

(

#41) ; @190 = VERTEX

(

#42) ; 9191 = VERTEX

(

#43) ; @192 = VERTEX

(

#44) ; @193 = VERTEX

(

#45) ; @194 = VERTEX

(

#46) ; @195 = VERTEX

(

#47) ;
Appendix B: PDES/STEP Physical File Example 32

@196 = VERTEX ( #48);

@197 = VERTEX ( #50)

@198 = VERTEX ( #52)

@199 = VERTEX ( #54)

@200 = VERTEX ( #55)

@201 = VERTEX ( #57)

@202 = VERTEX ( #58);

!* Done : Vertices *!

@203 = @204 = @205 = @206 = @207 = @208 = @209 = @210 = @211 = @212 = @213 = @214 = @215 = @216 = @217 = @218 = @219 = @220 = @221 = @222 = @223 = @224 = @225 = @226 = @227 --- @228 = @229 = @230 = @231 = @232 = @233 = @234 = @235 = @236 = @237 = @238 = @239 = @240 = @241 = @242 = @243 = @244 = @245 = @246 = @247 =

EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE ( EDGE (

#156,

#158,

#160,

#161,

#162,

#164,

#165,

#165,

#167,

#169,

#171,

#172,

#172,

#173,

#174,

#175,

#176,

#177,

#178,

#179,

#199,

# 200 , # 201 , # 202 , #180,

#182,

#184,

#185,

#186,

#188,

#189,

#189,

#191,

#193,

#195,

#196,

#196,

#197,

#198,

#156,

#157,

#158,

#159,

#160,

#161,

#157,

#157,

#159,

#162,

#163,

#163,

#164,

#166,

#166,

#168,

#170,

#171,

#156,

#173,

#174,

#175,

#176,

#177,

#178,

#179,

#199,

# 200 , # 201 , # 202 , #181,

#181,

#183,

#186,

#187,

#187,

#188,

#190,

#190,

#192,

#194,

#195,

#180,

#197,

#198,

#180,

#181,

#182,

#183,

#184,

#185,

CURVE_LOGICAL_STRUCTURE (#77,

CURVE_LOGICAL_STRUCTURE (#78,

CURVE_LOGICAL_STRUCTURE (#79,

CURVE_LOG I CAL_S TRUCTURE (#80,

CURVE_LOGICAL__STRUCTURE (#81,

CURVE_LOGICAL_S TRUCTURE (#82,

CURVE_LOGI CAL_S TRUCTURE (#83,

CURVE_LOGI CAL_STRUCTURE (#84,

CURVE_LOGI CAL_STRUCTURE (#85,

CURVE_LOGXCAL_STRUCTURE (#86,

CURVE_LOGICAL_STRUCTURE ( #87

,

CURVE__LOGXCAL_S TRUCTURE (#88,

CURVE_LOGXCAL_STRUCTURE (#89,

CURVE_LOGICAL_S TRUCTURE ( # 90

,

CURVE_LOGICAL_STRUCTURE (#91,

CURVE_LOGI CAL_S TRUCTURE (#92,

CURVE_JLOGXCAL_S TRUCTURE (#93,

CURVE_LOGXCAL_STRUCTURE (#94,

CURVE__LOGICAL__S TRUCTURE ( # 95

,

CURVE_LOGXCAL_STRUCTURE (#96,

CURVE__LOGXCAL_S TRUCTURE (#97,

CURVE_LOGI CAL_S TRUCTURE (#98,

CURVE_LOG ICAL__S TRUCTURE (#99,

CURVE__LOGXCAL_STRUCTURE (#10 0,

CURVE__LOG I CAL__S TRUCTURE (#101,

CURVE_JLOGXCAL_S TRUCTURE (#102,

CURVE_JLOGICAL__STRUCTURE (#103,

CURVE_LOGICAL_STRUCTURE (#104,

CURVE_LOGICAL__STRUCTURE (#105,

CURVE_JLOGICAL_STRUCTURE (#106,

CURVE__LOGXCAL__S TRUCTURE (#107,

CURVE_LOGICAL_S TRUCTURE (#108,

CURVE_LOGICAL_STRUCTURE (#109,

CURVE__LOGICAL_STRUCTURE (#110,

CURVE__LOGICAL_STRUCTURE (#111,

CURVE_LOG I CAL_S TRUCTURE (#112,

CURVE_LOG I CAL_S TRUCTURE (#113,

CURVE_LOGICAL__S TRUCTURE (#114,

CURVE_ LOGICAL_STRUCTURE (#115,

CURVE_LOGICAL_S TRUCTURE (#116,

CURVE__LOGICAL_STRUCTURE (#117,

CURVE_LOGICAL_STRUCTURE (#118,

CURVE_LOGICAL_STRUCTURE (#119,

CURVE_LOG I CAL_S TRUCTURE (#120,

CURVE LOGICAL STRUCTURE (#121,

•T.));

• t . ) ) ; •T.));

•T.));

-T.));

<T.));

•T.));

•T.));

. T . ) ) ; •T.) )

. T . ) ) ; .t.));

•To));

. T . ) ) ; .T.) )

• T . ) ) ;

. T . ) ) ; .T.) )

.T.));

•T.));

. T . ) ) ; •T.));

.t.));

. T . ) ) ;

. T . ) ) ; .T.));

.T.));

•T.));

•T.));

.T.));

•T.));

•T.));

•T.));

•T.));

.T.));

•T.));

.T.));

•T„));

. T . ) ) ; .To) )

•To))

•T.) )

•To));

.To));

.T.));
Appendix B: PDES/STEP Physical File Example 33

@248 = EDGE ( #162, #186, CURVE__LOGICAL__STRUCTURE (#122, .T. ) @249 = EDGE ( #163, #187, CURVE__LOGICAL__STRUCTURE (#123, .T.)

@250 = EDGE ( #164, #188, CURVE__LOGICAL__STRUCTURE (#124, .T.)

@251 = EDGE ( #165, #189, CURVE__LOGICAL__STRUCTURE (#125, .T.)

@252 = EDGE ( #166, #190, CURVE__LOGICAL__STRUCTURE (#126, .T. ) @253 = EDGE ( #167, #191, CURVE__LOGICAL__STRUCTURE (#127, .T.)

@254 = EDGE ( #168, #192, CURVE__LOGICAL__STRUCTURE (#128, -T. ) @255 = EDGE ( #169, #193, CURVE__LOGICAL__STRUCTURE (#129, • T. ) @256 = EDGE ( #170, #194, CURVE__LOGICAL__STRUCTURE (#130, • T. ) @257 = EDGE ( #171, #195, CURVE__LOGICAL__STRUCTURE (#131, .T.)

@258 = EDGE ( #172, #196, CURVE__LOGICAL__STRUCTURE (#132, • T.)

@259 = EDGE ( #158, #159, CURVE__LOGICAL__STRUCTURE (#77, .T. ) ) @260 = EDGE ( #160, #161, CURVE__LOGICAL__STRUCTURE (#77, • T. ) ) @261 = EDGE ( #167, #168, CURVE__LOGICAL__STRUCTURE (#84, .T.) ) @262 = EDGE ( #169, #170, CURVE__LOGICAL__STRUCTURE (#84, • T.) ) @263 = EDGE ( #182, #183, CURVE__LOGICAL__STRUCTURE (#101, .T.)

@264 = EDGE ( #184, #185, CURVE__LOGICAL__STRUCTURE (#101, • T.)

@265 = EDGE ( #191, #192, CURVE__LOGICAL__STRUCTURE (#108, • T.)

@266 = EDGE ( #193, #194, CURVE__LOGICAL__STRUCTURE (#108, • T.)

! * Done : Edges *

!

@267 = EDGE :LOOP ( (

@268 =

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE

LOGICAL

_LOGICAL_

_LOGICAL_

_LOGICAL_

LOOP ( ( _LOGICAL_

_LOGICAL_

_LOGICAL_

LOGICAL

@269 = EDGE_LOOP ( ( EDGE_LOGICAL_

EDGE_LOGICAL_

EDGE_LOGICAL_

EDGE_LOGICAL_

@270 = EDGE LOOP ( ( EDGE_

EDGE_

EDGE_

EDGE

LOGICAL^

_LOGICAL_

_LOGICAL_

LOGICAL

@271 = EDGE_LOOP ( ( EDGE_LOGICAL_

EDGE_LOGICAL_

EDGE_LOGICAL_

EDGE_LOGICAL_

@272 = EDGE LOOP ( (

@273 =

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE_

EDGE

_LOGICAL_

_LOGICAL_

LOGICAL^

_LOGICAL_

LOOP ( ( LOGICAL_

LOGICAL

_STRUCTURE (#203, .T.),

STRUCTURE (#243, .T.),

_STRUCTURE (#227, .F.),

_STRUCTURE (#242, .F.)

_STRUCTURE (#204, .F.),

STRUCTURE (#244, .T.),

STRUCTURE (#228, .T.),

_STRUCTURE (#243, .F.)

_STRUCTURE (#205,

_STRUCTURE (#24 6,

_STRUCTURE (#229,

_STRUCTURE (#245,

_STRUCTURE (#206,

^STRUCTURE (#248,

_STRUCTURE (#230,

_STRUCTURE (#247,

_STRUCTURE (#207,

_STRUCTURE (#249,

_STRUCTURE (#231,

_STRUCTURE (#248,

_STRUCTURE (#208,

_STRUCTURE (#250,

_STRUCTURE (#232,

_STRUCTURE (#249,

_STRUCTURE (#209, .F.),

STRUCTURE (#251, .T.),

) )

) )

F.) , T.) , T.) , F . ) ))

T.) , T.) , F.) , F. ) ) )

To),

T.) , F.) , F . ) ) ) ;

F.) , T.) , T.) , F. ) ) ) ;
Appendix B: PDES/STEP Physical File Example 34

@274

@275

@276

@277

@278

@279

@280

@281

@282

@283

@284

@285

@286

@287

@288

EDGE_LOGICAL_STRUCTURE (#233,

EDGE_LOGICAL_STRUCTURE (#250,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#210,

EDGE_LOGICAL_STRUCTURE (#252,

EDGE_LOGICAL_STRUCTURE (#234,

EDGE_LOGICAL_STRUCTURE (#251,

EDGE__LOOP ( ( EDGE_LOGICAL_STRUCTURE (#211,

EDGE_LOGICAL_STRUCTURE (#253,

EDGE_LOGICAL_STRUCTURE (#235,

EDGE_LOGICAL_STRUCTURE (#252,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#212,

EDGE_LOGICAL_STRUCTURE (#255,

EDGE_LOGICAL_STRUCTURE (#236,

EDGE_LOGICAL_STRUCTURE (#254,

EDGE__LOOP ( ( EDGE_LOGICAL_STRUCTURE (#213,

EDGE_LOGICAL_STRUCTURE (#257,

EDGE_LOGICAL_STRUCTURE (#237,

EDGE_LOGXCAL_STRUCTURE (#256,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#214,

EDGE__LOGICAL__STRUCTURE (#258,

EDGE_LOGICAL___STRUCTURE (#238,

EDGE__LOGICAL__STRUCTURE (#257,

EDGE_LOOP ( ( EDGE_L0G1CAL_STRUCTURE (#215,

EDGE_LOGXCAL_STRUCTURE (#242,

EDGE_LOGICAL_STRUCTURE (#239,

EDGE_LOGICAL_STRUCTURE (#258,

EDGE__LOOP ( ( EDGE__LOGXCAL__STRUCTURE (#218,

EDGE__LOOP ( ( EDGE__LOGICAL_STRUCTURE (#220,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#221,

EDGE_LOOP ( ( EDGE__LOGICAL_STRUCTURE (#216,

EDGE__LOOP ( ( EDGE_LOGICAL_STRUCTURE (#224,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#224,

EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#217,

EDGE_LOOP ( ( EDGE_LOGXCAL_STRUCTURE (#226,

EDGE__LOOP ( ( EDGE_LOGICAL_STRUCTURE (#203,

EDGE_LOGICAL_STRUCTURE (#215,

EDGE_LOGICAL_STRUCTURE (#214,

EDGE_LOGICAL_STRUCTURE (#213,

EDGE LOGICAL STRUCTURE ( #2 62

,

-T.) ,

• F . ) ) ) ;

• T. ) ,

• T . ) ,

• F.) , .F.) ));

• F.) ,

• T.) ,

• T.) ,

• F . ) ));

• F.) ,

• T.) ,

• T.) , .F.) ));

• F.) , .T.) ,

• T.) , .F.) ));

• F.) , .T.),

. T „ ) ,

• F . ) ));

• T.) ,

• T.) ,

• F.) ,

• F . ) ) ) ;

•F.) ) )

•F.) ));

• F . ) ) ) ;

. F . ) ) ) ;

. T . ) ) ) ;

. F . ) ) ) ;

• F . ) ) ) ;

. F „ ) ) ) ;

.F.) ,

• F o ) ,

• To),

• To) , .Fo ) ,
Appendix B: PDES/STEP Physical File Example 35

EDGE_LOG ICAL_S TRUCTURE (#212

EDGE_LOGICAL_STRUCTURE (#261

EDGE_LOGICAL_STRUCTURE (#211

EDGE_LOGICAL_STRUCTURE (#210

EDGE_LOGICAL_STRUCTURE (#209

EDGE_LOGI CAL_S

T RUCTURE (#208

EDGE_LOGICAL_STRUCTURE (#207

EDGE_LOGI CAL_S TRUCTURE (#206

EDGE_LOGICAL_STRUCTURE (#260

EDGE_LOGI CAL_STRUCTURE (#205

EDGE_LOGICAL_STRUCTURE (#259

EDGE_LOGICAL_STRUCTURE (#204

0289 = EDGE_LOOP( ( EDGE_LOGICAL_S TRUCTURE (#227

EDGE_LOGICAL_STRUCTURE (#228

EDGE_LOGICAL_STRUCTURE (#263

EDGE_LOGICAL_S TRUCTURE (#229

EDGE_LOGICAL_STRUCTURE (#264

EDGE__LOGICAL_STRUCTURE (#230

EDGE_LOGICAL_STRUCTURE (#231

EDGE_LOGICAL_STRUCTURE (#232

EDGE_LOGICAL_STRUCTURE (#233

EDGE_LOGICAL_STRUCTURE (#234

EDGE_LOGICAL_S TRUCTURE (#235

EDGE_LOGICAL_S TRUCTURE (#265

EDGE_LOGICAL_STRUCTURE (#236

EDGE__LOG I CAL_S TRUCTURE (#266

EDGE_LOGICAL_STRUCTURE (#237

EDGE_LOGICAL_S TRUCTURE (#238

EDGE_LOGICAL_S TRUCTURE (#239

0290 = EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#259

EDGE_LOGI CAL_S TRUCTURE (#245

EDGE_LOGICAL_S TRUCTURE (#263

EDGE_LOGICAL_STRUCTURE (#244

0291 = EDGE_LOOP( ( EDGE_LOGICAL_S TRUCTURE (#260

EDGE_LOGICAL_S TRUCTURE (#247

EDGE_LOGICAL_STRUCTURE (#264

EDGE_LOGICAL_S TRUCTURE (#246

0292 = EDGE_LOOP ( ( EDGE_LOGICAL_STRUCTURE (#261

EDGE_LOGICAL_STRUCTURE (#254

EDGE_LOGI CAL_S TRUCTURE (#265

EDGE_LOGICAL_S TRUCTURE (#253

0293 = EDGE_LOOP ( ( EDGE_LOGICAL_S TRUCTURE (#262

EDGE_LOGICAL_S TRUCTURE (#256

EDGE_LOGICAL_S TRUCTURE (#266

EDGE_LOGICAL_STRUCTURE (#255

0294 = EDGE_LOOP ( ( EDGE_LOGICAL_S TRUCTURE (#226

0295 = EDGE_LOOP ( ( EDGE LOGICAL STRUCTURE ( #2 1 8 ff • T . ) , • F.) , . T . ) , • F.) , • T . ) , .T.) , • F.) , • F . ) , • F.) , • T.) , • F . ) / • T . ) ) ) ; • T.) , • F.) , • T.) , • F.) , • T.) , .T.) , •T.) , . F . ) , •F.) , •T.) , .F.) , .T.) , • F.) , • T . ) , • F.) , • F.) , • T . ) ) ) ; • T . ) , •T.) , • F.) , .F.) )):

.T.) , • T.) , • F.) r •F.) ));

•T.) , • T . ) , • F . ) f .F.) )); • T.) , • T.) , • F.) , •F.) ));

•T.) ));
Appendix B: PDES/STEP Physical File Example 36

@296 = EDGE_LOOP ( ( EDGE_LOGICAL__STRUCTURE (#219, -F. ) ) ) ; @297 = EDGE_LOOP ( ( EDGE_LOGICAL__STRUCTURE (#219, .T.) ) ) ; @298 = EDGE_LOOP ( ( EDGE__LOGICAL__STRUCTURE (#220, • T.) ) ) ; @299 = EDGE_LOOP ( ( EDGE_LOGICAL__STRUCTURE (#221, .T. ) ) ) ; @300 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#222, • T „ ) ) ) / @301 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#222, • F.) ) ) ; @302 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#216, .T.) ) ) ; @303 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#223, • T.) ) ) / @304 = EDGE_LOOP ( ( EDGE_LOGI CAL_-STRUCTURE (#223, • F.) ) ) ; @305 = EDGE_LOOP ( ( EDGE__LOGICAL_ STRUCTURE (#240, .T.) ) ) / @306 = EDGE_LOOP ( ( EDGE__LOGICAL_-STRUCTURE (#240, .F. ) ) ) ; @307 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#217, • T.) ) ).; @308 = EDGE_LOOP ( ( EDGE_LOGI CAL_-STRUCTURE (#225, • T.) ) ) ; @309 = EDGE_LOOP ( ( EDGE-LOGXCAL_-STRUCTURE (#225, .F.) ) ) ; @310 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#241, • T. ) ) )

@311 = EDGE_LOOP ( ( EDGE_LOGICAL_-STRUCTURE (#241, .F.) ) ) ;

! * Done : Loops * S

@312 = FACE ( , ( LOOP_LOGICAL_-STRUCTURE (#267, • T.) )

,

SURFACE_LOGICAL_STRUCTURE (#133, . F. )

)

@313 = FACE ( , ( LOOP_LOGI CAL_-STRUCTURE (#268, . T . ) )

,

SURFACE_LOGICAL_STRUCTURE (#134, . T. ) ) @314 = FACE ( , ( LOOP_LOGICAL_-STRUCTURE (#269, • To) ) , SURFACE_LOGICAL_STRUCTURE (#135, . T. ) ) @315 = FACE ( , ( LOOP_LOGICAL_-STRUCTURE (#270, • T.) ) , SURFACE_LOGICAL_STRUCTURE (#136, . F. ) ) @316 = FACE ( , ( LOOP_LOGICAL_-STRUCTURE (#271, . T .

)

) , SURFACE_LOGICAL__STRUCTURE (#137, . To) ) @317 = FACE ( , ( LOOP_LOGICAL_-STRUCTURE (#272, • T.) f LOOP_LOG I CAL_-STRUCTURE (#296, • T„) ) , SURFACE_LOGICAL_STRUCTURE (#138, . To ) ) @318 = FACE ( , (
Appendix B: PDES/STEP Physical File Example

LOOP_LOGICAL_STRUCTURE (#273, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#139, .T. ) ) @319 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#274, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#140, .T.) ) @320 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#275, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#141, .T.)

)

@321 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#276, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#142, .T.)

)

@322 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#277, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#143, .T.) ) @323 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#27 8, .T.) , LOOP_LOGICAL_STRUCTURE (#298, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#144, .F.)

)

@324 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#279, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#145, .F.)

)

@325 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#2 80, . T.) , LOOP_LOGICAL_STRUCTURE (#297, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#146, .T.)

)

@326 = FACE ( , ( LOOP_LOG I CAL_S TRUCTURE (#281, . T .

)

, LOOP_LOGICAL_STRUCTURE (#299, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#147, . T . )

)

@327 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#2 82, .T.) , LOOP_LOGICAL_STRUCTURE (#300, .T.) ),

SURFACE_LOGICAL_S TRUCTURE (#148, .T.)

)

@328 = FACE ( , ( LOOP_LOG I CAL_S TRUCTURE (#283, . T . ) , LOOP_LOGICAL_STRUCTURE (#303, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#14 9, .T.) ) @329 = FACE ( , ( LOOP_LOGICAL_S TRUCTURE (#284, . T . ) , LOOP_LOGICAL_STRUCTURE (#304, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#150, .T.) ) @330 = FACE ( , ( LOOP_LOGICAL_S TRUCTURE (#285, .T.) , LOOP_LOGICAL_STRUCTURE (#305, .T.) ),

SURFACE_LOGICAL_S TRUCTURE (#151, .T.) ) @331 = FACE ( , ( LOOP_LOGICAL_S TRUCTURE (#286, .T.) , LOOP_LOGICAL_S TRUCTURE (#308, .T.) ),

SURFACE_LOGI CAL_S TRUCTURE (#152, .T.)

)

@332 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#287, .T. )

,

LOOP_LOG I CAL_S TRUCTURE (#310, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#153, .T.)

)

@333 = FACE ( , (
Appendix B: PDES/STEP Physical File Example 38

LOOP_LOG I CAL_S TRUCTURE (#288, . T . ) , LOOP_LOGICAL_STRUCTURE (#302, .T.) ,

LOOP_LOGICAL_STRUCTURE (#307, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#154, .F. ) ) 

@334 = FACE ( , ( LOOP__LOGICAL_S TRUCTURE (#289, . T . ) , LOOP_LOGICAL_STRUCTURE (#30 6, .T.) , LOOP _LOGICAL_S TRUCTURE (#311, .T.) ),

SURFACE_LOG I CAL_STRUCTURE (#155, .T. ) ) 

@335 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#2 90, .T.) , LOOP_LOGICAL_STRUCTURE (#295, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#133, .F. ) ) 

@336 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#291, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#133, . F . ) ) 

@337 = FACE ( , ( LOOP_LOGICAL_S TRUCTURE (#2 92, . T . ) , LOOP_LOGICAL_STRUCTURE (#301, .T.) ),

SURFACE_LOGXCAL_STRUCTURE (#140, .T. ) ) 

@338 = FACE ( , ( LOOP_LOGICAL__STRUCTURE (#2 93, .T.) ),

SURFACE_LOGICAL_STRUCTURE (#140, .T. ) ) 

@339 = FACE ( , ( LOOP_LOGICAL_STRUCTURE (#2 94, .T.) , LOOP_LOGICAL_S TRUCTURE (#309, .T.) ),

SURFACE_LOGICAL__STRUCTURE (#150, .T. ) ) ; ! 

Done : Faces * 

@340 = CLOSED_SHELL ( ( FACE_LOGXCAL_S TRUCTURE (#312, .T. ) , FACE_LOGICAL_S TRUCTURE (#313, . T . ) , FACE__LOGICAL_STRUCTURE (#314, .T.) , FACE_LOGICAL__STRUCTURE (#315, .T.) , FACE_LOGXCAL_STRUCTURE (#316, .T.) , FACE_LOGICAL__STRUCTURE (#317, .T.) , FACE_LOGICAL_STRUCTURE (#318, .T.) , FACE_LOGI CAL_S TRUCTURE (#319, .T.) ,

FACE_LOGICAL_STRUCTURE (#320, .T.) ,

FACE_LOGICAL_STRUCTURE (#321, .T. ) , FACE_LOGICAL_STRUCTURE (#322, .T. ) , FACE__LOGICAL_S TRUCTURE (#323, .T. ) , FACE_LOGICAL_S TRUCTURE (#32 4, .T. ) , FACE_LOGICAL_STRUCTURE (#325, .T.) ,

FACE__LOGICAL_STRUCTURE (#32 6, .T.) , FACE_LOGICAL__S TRUCTURE (#327, .T.),

FACE___LOGICAL_STRUCTURE (#32 8, .T.) , FACE__LOG I CAL_S TRUCTURE (#32 9, .T.) , FACE__LOGICAL_S TRUCTURE (#330, .T. ) , FACE_LOGICAL_STRUCTURE (#331, .T.) , FACE_LOG I CAL_S TRUCTURE ( #332 , . T . ) , FACE_LOGI CAL_S TRUCTURE (#333, .T. ) , FACE_LOGICAL_S TRUCTURE (#334, .T.) ,

FACE LOGICAL STRUCTURE ( #335 , . T . ) ,
Appendix B: PDES/STEP Physical File Example

FACE_LOGICAL_STRUCTURE (#336/ .T .

)

FACE_LOGICAL_STRUCTURE (#337, .T . FACE_LOGICAL_STRUCTURE (#338, .T.

)

FACE_LOGICAL_STRUCTURE (#339, .T.

! * Done : Shells *

!

ENDSEC;

END STEP;
- ' 1
U.S. DEPT. OF COMM. 1. PUBLICATION OR

REPORT NO.

2. Performing Organ. Report No. 3. Publication Date

BIBLIOGRAPHIC DATA

SHEET (See instructions) NBS IR, 88-3818 JULY 1988

4. TITLE AND SUBTITLE

Converting the AMRF Part Model Report to a PDES/STEP Subset

5. AUTHOR(S)

Y. Tina Lee and Sanford P. Ressler

6. PERFORMING ORGANIZATION (If joint or other than NBS, see instructions) 7. Contract/Grant No.

NATIONAL BUREAU OF STANDARDS

U.S. DEPARTMENT OF COMMERCE

GAITHERSBURG, MD 20899

8 . Type of Report & Period Covered

9. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street. City. State, ZIP)

National Bureau of Standards

Gaithersburg, Maryland 20899

10. SUPPLEMENTARY NOTES

2 Document describes a computer program; SF-185, FIPS Software Summary, is attached.

11. ABSTRACT (A 200-word or less factual summary of most significant in formation. If document includes a significant

bi bliography or literature survey, mention it here)

This paper identifies the process through which the Topology and Geometry of product

data defined in the AMRF (Automated Manufacturing Research Facility) Part Model database report are converted to the PDES (Product Data Exchange specification) /STEP

(Standard for the Exchange of Product Model Data) physical file.

A file conversion program, which converts the AMRF Part Model report (topology and

geometry only) to the PDES/STEP file, has been implemented. The PDES/STEP file can

be generated 100% automatically by executing this program.

12. KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semi colon s) AMRF, AMRF Part Model, CAD/CAM, data exchange, product data, PDES, STEP

13. AVAILABILITY 14. NO. OF

PRINTED PAGES

y j Uni imited

' For Official Distribution. Do Not Release to NTIS

1

! Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C.

20402.

41

15. Price

-X Order From National Technical Information Service (NTIS), Springfield, VA. 22161 $11.95

USCOMM-DC 6043-PS0