User Guide

Running the Product

Once configured and licensed, the product is ready to be run.

There are 2 distinct ways of running the translator:

  • Via the Theorem Unified Interface

    • The Unified Interface offers a Desktop Environment that allows CAD and Visualization data to be viewed pre and post translation

  • Via the Command Line

    • The Command Line Interface provides a direct method of invoking the translator. It can be used via a DOS shell or called via a third party application as part of a wider process requirement.

Using the Product

Default Translations

Default Translation – via the Unified Interface

The Unified Interface can be started via the Start Menu – if a shortcut was added during installation.

Alternatively, the Unified Interface can be run via a Windows Explorer selection in:

<UI_installation_directory>\bin\Unified_Interface.cmd

The following interface will be launched:

Unified Interface launched

The default layout is split into 4 primary areas, which can be altered to the user’s preference:

Unified Interface layout areas

The simplest way to translate from STEP or NX is to drag a file from the file Browser Pane on to the Active Configurations for the translation you require.

Activity pane context menu

On completion, the Unified Interface will display the activity information and details from the log file created during the translation, if requested, in the Translation Activity and Output Log panes, respectively.

The generated output data can be located by selecting the translation from the Activity pane and opening the output folder:

Activity pane drag and drop

Default Translation – via the Command Line

Running a translation via the command line can be carried out via the cad_run.cmd file located in the <installation_directory>\bin directory. The format of the command is as follows when translating from STEP to NX:

<Translator_installation_directory>\bin\cad_run.cmd STEP_UnigraphicsNX [XX] <input_file> <output_file>

The format of the command is as follows when translating from NX to STEP:

<Translator_installation_directory>\bin\cad_run.cmd UnigraphicsNX[XX]_STEP <input_file> <output_file>

(Note! Replace the [XX] seen in the example with the version of NX you are using. E.g. for NX9 change to UnigraphicsNX9):

Command line translation example

The example above will translate a STEP sample file provided within the installation and produce the following screen output:

Command line output

Note! This is only the top of the screen output.

The file will be output to the target location. In this case:

C:\Output\as1-tc-214.prt

CADverter Customization

CADverter allows the information that is read from the source system and written to the target system to be tailored via a set of user specified arguments. Commonly used arguments are supported via the Unified Interface, with Advanced Arguments being described within this document for use in the Unified Interface or via the Command Line invocation.

Common Options for STEP to NX

Within the Configuration Manager pane of the Unified Interface, arguments that can be specified when publishing STEP data into NX are grouped into 4 areas:

  • STEP Read – Those arguments that affect how data is read from STEP

  • NX Write – Those arguments that affect how the data is written to NX

  • Entity Mask – Those arguments that allow specific read entities to be masked

  • General – Those arguments that are common to ALL Publishing activities regardless of source data

STEP Read Arguments

The image below shows the STEP Read arguments that are available, with their default settings:

STEP Read arguments

Each of these options is described below:

Option

Description

STEP Accuracy

This option is used to specify the tolerance value used by the CADverter to decide whether a curve or surface is closed, or a surface is degenerate. For most cases, the default value of 0.001 mm will be adequate. Default is OFF.

Command Line Syntax:

  • step_accur 0.001

Layer

This option may be used to define layer information, if the input STEP File does not contain layering, for processing into the receiving system. Default is OFF.

You can specify either the one and only layer that the STEP data is to be put on to (if the Incremental Layer option is not used), or the start layer if other than zero is required (if the Incremental Layer option is used).

For example, if a layer of 3 is specified and the Incremental Layer option is not used, then all geometry will be written to layer 3. If you specify a layer of 3 and set a value in the Incremental Layer option, then the geometry from each Shape Representation encountered in the STEP file will be put on a new layer starting from layer 3, incremented by the value entered each time.

NOTE: If a STEP AP203 or STEP AP214 file containing Colours and Layer Modular extension data is read, the values in the file will take precedence over the values entered by this option.

Command Line Syntax:

  • layer "number"

  • layer_incr "number"

Save CM Data to File

STEP files contain more than just geometric data. In addition it can contain Configuration Management Data (also known as CM Data, or PDM information), such as the names of people and organisations fulfilling various roles (design creator etc.). By using this option this non-geometric data will be printed out into a CM Data File, which conforms to the Theorem Solutions CM Data File format.

The CM Data File will be named CAD_filename.cmdata where CAD_filename is the name of the CAD output file being created. Default is OFF.

Command Line Syntax:

  • print_cmdata

Tag Geometric Entities

Many CAD systems have the capability to apply TAG values to geometric entities. This option instructs the CADverter to use the value found in the ‘name’ field of the Geometric Representation Item as this TAG value. Default is OFF.

Command Line Syntax:

  • tag_name

Retain Assembly Structure

If the Input STEP File contains any assembly structure, then by default assembly structure will be created in the Output CAD format. Default=On.

Deselection of this option (or the command line option offditto) causes the assembly structure to be “exploded” into a flat single component file.

Command Line Syntax:

  • offditto

Process Validation Properties

If the STEP File contains Geometric Validation Property data, conforming to the appropriate modular extension, then this flag activates processing of this data.

This data is used to provide a check on the success of the translation. The method used for this check depends upon the target system, some will automatically check the data (e.g. Unigraphics). Default is OFF.

Command Line Syntax:

  • print_val

Node Name

This option gives the choice of which PRODUCT entity attribute to use for naming the structure nodes in the target system, when reading in an assembly from STEP. Default is PRODUCT.id

Command Line Syntax:

  • use_prod_name or use_prod_id

NX Write Arguments

The image below shows the Write NX arguments that are available, with their default settings:

NX Write arguments

Each of these options is described below:

Option

Description

Delete Existing Sub-parts

Delete existing sub-parts. Default is OFF.

Command Line Syntax:

  • delete_parts

Concatenate Assembly Name

Concatenates assembly name. Default is OFF.

Command Line Syntax:

  • concat_assy

Create Faceted Solid

Creates a faceted solid if the source data is faceted. Default is ON.

Command Line Syntax:

  • no_poly_sol – to turn off

Produce Tessellated Output

Create a tessellated JT file instead of an NX file. Default is OFF.

Command Line Syntax:

  • tess_output – to turn on

STEP to NX Entity Masking Arguments

The image below shows the Masking arguments that are available, with their default settings:

Entity Masking arguments

Each of these options is described below:

Option

Description

Mask File

Specifies the Mask File to be written to, that can be referenced by future translations. A Mask file MUST be specified if masking is required. The first line in this file is OFF ALL ENT:

Command Line Syntax:

  • Mask <filename>

Entity Types Translated

Specifies a selection list (see picture) from which to select which entity types are to be processed. The following types are available:

“POI”,”LIN”,”ARC”,”CON”,”CUR”,”SUR”,”FAC”,”SOL”

Command Line Syntax:

  • Add any of the above to the specified mask file, one entry per line prefixed by the word ON, e.g.: ON POI to ensure they are considered in the translation

    General arguments

STEP to NX General Arguments

The image below shows the General arguments that are available, with their default settings:

Entity Types Translated dialog

Each of these options is described below:

Option

Description

Mass Properties

Allows Mass Property information to be read from the source data and written as attributes to the PDF document. Default is OFF.

Command Line Syntax:

  • mprops

Advanced

Allows any of the Command Line Advanced arguments documented below to be passed to the Unified Interface invocation

STEP to NX Advanced Arguments

Theorem’s STEP to NX translator has been configured with default settings that optimises the translation process. However, there are times when a satisfactory result cannot be obtained, so it may be required to deploy one or more Advanced Arguments to improve the translated result.

The following table describes useful Advanced Arguments that can be entered into the General Tab -> Advanced field:

Option

Description

Parasolid Tolerant Modelling

Enables Parasolid tolerant modelling. Default is ON

Command Line Syntax:

  • nopstolmodel – to turn off

Factor

Specify the factor level of Parasolid Tolerant Modelling when turned on. Default is 3.

Command Line Syntax:

  • pstolmodel 3

Sew Parasolid Bodies

Enables the sewing of Parasolid bodies. Default is ON

Command Line Syntax:

  • nosew – to turn off

Tolerance

Specify the tolerance for the sew command above. Default is 0.01.

Command Line Syntax:

  • pssew 0.01

Keep All Bodies

A secondary option used with Sew Parasolid Bodies. Keep all bodies (no matter how small) that may be created as a result of sewing. Default is OFF.

Command Line Syntax:

  • keep_all_bodies – to turn on

  • no_keep_all_bodies – to turn off

Incremental Sewing

Enables incremental sewing when used with Sew Parasolid Bodies. Default is ON.

Command Line Syntax:

  • no_sew_increm – to turn off

Split Discontinuous Surfaces

Splits discontinuous surfaces. Default is ON.

Command Line Syntax:

  • no_brep_prep – to turn off

Force body creation (No check of Parasolid entities)

Removes the checking of Parasolid entities. Default is ON.

Command Line Syntax:

  • nocheck – (force body creation without checking = Default)

  • check – (doesn’t force the body creation - Parasolid checking is enabled)

Fix Degenerate Edges

On face create failure, check and fix any degenerate edges. Default is ON.

Command Line Syntax:

  • fix_degen

  • no_fix_degen – to turn off

Specify a Face Edge Tolerance

Specify an edge tolerance to be used when creating faces. Default is ON.

Command Line Syntax:

  • Please see Edge Tolerance below

Edge Tolerance

A secondary option used with Specify a Face Edge Tolerance where the tolerance value is assigned. Default is 0.000006.

Command Line Syntax:

  • face_edge_tol 0.000006

Fix small features in solids

Remove small edges, sliver and spike faces from solid bodies. Default is OFF.

Command Line Syntax:

  • ps_fix_small – to turn on

  • no_ps_fix_small – default

Fix small features in open solids

Remove small edges, sliver and spike faces from open solids. Default is OFF.

Command Line Syntax:

  • ps_fix_osol – to turn on

  • no_ps_fix_osol – default

Simplify Geometry

Simplify Geometry. Default is OFF.

Command Line Syntax:

  • simplify_solids – to turn on

Attempt Body Healing

Try to heal a body with issues. Default is ON.

Command Line Syntax:

  • no_heal_ug – to turn off

Body Healing Tolerance

A secondary option used with Attempt Body Healing where the tolerance value is assigned. Default is 0.0095.

Command Line Syntax:

  • heal_ug 0.0095

Common Options for NX to STEP

Within the Configuration Manager pane of the Unified Interface, arguments that can be specified when publishing NX data into STEP are grouped into 4 areas:

  • NX Read – Those arguments that affect how data is read from NX

  • STEP Write – Those arguments that affect how the data is written to STEP

  • Entity Mask – Those arguments that allow specific read entities to be masked

  • General – Those arguments that are common to ALL Publishing activities regardless of source data

NX Read Arguments

The image below shows the NX Read arguments that are available, with their default settings:

NX to STEP Configuration Manager

Each of these options is described below.

Option

Description

Assembly

Retain assembly structure. Default is ON.

Command Line Syntax:

  • ditto

  • noditto – to turn off

Reference Set

Enabled reference set processing. Default is OFF

Command Line Syntax:

  • ref_set – to turn on

Process ALL Layers

Process all layers, else ‘As Saved’. Default is ON

Command Line Syntax:

  • part_layer – to turn off

Read NX names

Read NX entity names, if they exist. Default is OFF.

Command Line Syntax:

  • no_read_name – default

  • read_name – to turn on

PMI Processing

Specifies how to process 3D PMI. The options are:

  • Off - The PMI is not processed. (Default)

  • Simple Annotation Only – Process Notes and Labels only

    Command Line Syntax:

    • read_3d_ann

  • Rendered – Process the PMI as stroked data with polyline presentation representing the PMI in the output STEP file.

    Command Line Syntax:

    • read_pmi write_stroked_pmi presentation polyline

  • Rendered and semantic – Process the PMI as stroked data with associated semantic information attached. The PMI is represented using polyline presentation in the STEP file with attached semantic representation.

    Command Line Syntax:

    • read_gdt presentation both

Tessellated Geometry Processing

Enables a tessellated or facetted representation to be used for each Brep solid in the output STEP file. The options are:

  • Off (Default) – Do not create tessellated/facetted representations

  • Tessellated Only – Each Brep is converted into a tessellated/facetted representation.

    Command Line Syntax:

    • create_facet

  • Tessellated and Brep – A tessellated/facetted representation is created from each Brep and the Brep is kept.

    Command Line Syntax:

    • create_facet facet_solid_read

Convert surfaces to NURBS

Read surfaces as NURBS surfaces (else read in native form). Default is ON.

Command Line Syntax:

  • noprep – to turn off

Convert Edge Curves to NURBS

Read edge curves as NURBS curves (else read in native format). Default is ON.

Command Line Syntax:

  • rd_native_edge – to turn off

STEP Write Arguments

The image below shows the STEP Write arguments that are available, with their default settings:

STEP Write arguments

Each of these options is described below:

Option

Description

Application Protocol

Specifies the type of STEP file. Default is AP 203.

  • AP 203, Configuration controlled 3D designs of mechanical parts and assemblies.

  • AP 214, Core data for automotive mechanical design processes

  • AP 242 Managed model based 3d engineering

Command Line Syntax:

  • ap 203 or 214 or 242

Edition 2

For AP 203 STEP Files, specifies that edition 2 of the standard is to be used. Default is OFF.

Command Line Syntax:

  • edition2

Modular Extensions

Allows modular extensions to be used in AP 203 files. The options are:

  • None (Default) – Do not use modular extensions in the AP 203 file

  • Colours Layers Extension – use the colours and layers modular extensions in the AP 203 file

    Command Line Syntax:

    • clg

  • 3D Text Colours Layers – use the colours, layers and 3D text modular extensions in the AP 203 file.

    Command Line Syntax:

    • clgwis

Tessellated Geometry

Specifies that tessellated representation is to be used for tessellated/facetted solids in the output AP 242 file. The alternative is to use the older facetted representation. Default is OFF.

Command Line Syntax:

  • fsol2 write_tess

Output Format

Specifies the text format of the STEP file. Default is Part 21.

  • Part 21, Conventional text.

  • Part 28, Formatted using the XML standard

Command Line Syntax:

  • part 21 or 28

Compress Output

Specifies that the output STEP file is to be compressed. Default is OFF.

Command Line Syntax:

  • compress

Simplify STEP Data

Any BSpline geometry from the Input file will be checked to see if it can be accurately represented by analytical geometry (e.g. Arcs or spheres). If this is the case, the BSpline geometry will be converted to the appropriate analytical curve or surface, thus reducing the overall size of the resultant STEP File. Default is OFF.

Command Line Syntax:

  • simplify

Linear Units

Specifies to units to be used in the output STEP files. CADverter will write the STEP File in identical units of length to those used in the Input file. If different units of length are required (i.e. to send an Inch part from a supplier in the USA, to a European company modelling in Millimetres), then this option allows for the specification of a different unit of length to be used for data written to the STEP File.

Command Line Syntax:

  • length_measure mm or inch

Angular Units

By default, the angular units written to a STEP File are Radians. This is the most accurate method for Data Exchange as the majority of CAD Systems use Radians for their internal unit of Angular Measure.

If it is required to use a different angular unit then, by applying this option, CADverter will write angular units of the specified type.

Command Line Syntax:

  • angle_measure radian or degree

Class 2 / Class 3 / Class 4 / Class 5 / Class 6

This instructs CADverter as to which Conformance Class of data the user wishes to create in the STEP file. For example, the original CAD file may contain solids data, however the user needs it represented in the STEP file as a collection of trimmed surfaces. This would be achieved by selecting Class 4 for output. CADverter will then interpret the data in the context of the specified class.

By default, all classes are on, so the resulting STEP File would maintain the data as it appears in the input file.

Conformance Classes

STEP groups its entities into Conformance Classes 1 to 6. The definitions of the Classes are given below:

  • Class 1 – Configuration-controlled design information without shape

  • Class 2 – Class 1 plus shapes represented by geometrically bounded wireframe models, surface models or both

  • Class 3 – Class 1 plus shapes represented by wireframe models with topology

  • Class 4 – Class 1 plus shapes represented by manifold surface models with topology

  • Class 5 – Class 1 plus shapes represented by facetted B-rep solids

  • Class 6 – Class 1 plus shapes represented by advanced B-rep solids

Class 1 alone is not supported as it is non-geometric.

Command Line Syntax:

  • class 2 or 3 or 4 or 5 or 6

Validation Properties

If this option is selected, then the CADverter will write Validation Data (Volume, Surface Area and Centroid information) into the STEP File. Default is OFF.

If a suitable STEP post-processor is used to read the STEP File, these values can be used to automatically validate that the exchange has been a success.

Command Line Syntax:

  • val

External References

CADverter has the capability to create a STEP File containing Structure and PDM information, with references to the Geometry files as either Native CAD models or STEP Files. Default is OFF.

This capability is useful for exchanging large structures in multiple files rather than creating a single monolithic STEP File with both Structure and Geometry embedded in it.

Command Line Syntax:

  • ext_ref

Suppress Tag Names

Switches off the processing of TAG names from the STEP File.

Some STEP Files contain TAG Names which are duplicates of those applied to other STEP geometric entities (e.g. all Edge Curves may be tagged as “Edge_Curve”). Since most CAD systems require TAG names to be unique, this can lead to extremely long processing times, as each TAG must be altered to avoid name clashes. Default is OFF.

Command Line Syntax:

  • tag_name default_null

Suppress Colour

Prevents colour being added to the entities in the output STEP file. Default is OFF.

Command Line Syntax:

  • no_style

NX to STEP Entity Masking Arguments

The image below shows the Masking arguments that are available, with their default settings:

NX to STEP Entity Masking arguments

Each of these options is described below:

Option

Description

Mask File

Specifies the Mask File to be written to, that can be referenced by future translations. A Mask file MUST be specified if masking is required. The first line in this file is OFF ALL ENT:

Command Line Syntax:

  • Mask <filename>

Entity Types Translated

Specifies a selection list from which to select which entity types are to be processed. The following types are available:

“POI”,”LIN”,”ARC”,”CON”,”CUR”,”SUR”,”FAC”,”SOL”

Command Line Syntax:

  • Add any of the above to the specified mask file, one entry per line prefixed by the word ON, e.g.: ON POI to ensure they are considered in the translation

    Entity Types Translated dialog

Layers Translated

Specifies a selection list from which to select which layers are to be processed.

Command Line Syntax:

  • A single entry of ON ALL LAY Must precede any Layer Mask command.

  • Add a list or range of numbers representing layer to be processed to the specified mask file to ensure they are NOT considered in the translation e.g.: OFF LAY 114,149,166,167,168

NX to STEP General Arguments

The image below shows the General arguments that are available, with their default settings:

NX to STEP General arguments

The option is described below:

Option

Description

Mass Properties

This causes CADverter to calculate and print mass properties information for the created solid bodies. The printed output appears in the progress file. This needs to be selected if validation properties are required in the output STEP file.

Command Line Syntax:

  • mprops

Advanced

Allows any of the Command Line Advanced arguments documented below to be passed to the Unified Interface invocation

NX to STEP Advanced Arguments

Theorem’s NX to STEP translator has been configured with default settings that optimises the translation process. However, there are times when a satisfactory result cannot be obtained, so it may be required to deploy one or more Advanced Arguments to improve the translated result.

The following table describes useful Advanced Arguments that can be entered into the General Tab -> Advanced field:

Option

Description

pmi_attr

Adds validation properties for polyline PMI into the STEP file.

assy_val_props

Adds validation properties for assembly entities into the STEP file.

A GUIDE TO THE CM-DATA DEFINITION FILE FOR THEOREM STEP TRANSLATORS

To conform to the published standard, a STEP file must contain some Configuration Management (CM) data and may also contain a geometrical representation of a part or Assembly. Whilst the Theorem translators are supplied to allow the use of STEP AP203, STEP AP214 and STEP AP242 with designed geometry there is a minimum subset of CM data which must be included in the STEP file in order to comply with the standard.

In addition to the minimum subset to satisfy the rules for the AP, there is also a level of support for data within the Units of Functionality (UoF) defined which must be provided to allow the processor to be fully conformant for those UoFs. The minimum level of support implies that the user has a means of defining the data items for those UoFs rather than that the processor will populate them with default values.

This document defines the format of a text file by which this CM data can be supplied to the translator for inclusion with geometry in a STEP part 21 file.

The data required is that which is additional to the geometrical definition and structure and which is necessary to allow the STEP part 21 file created to contain the minimum subset of Configuration Management data in order to satisfy all of the rules of the AP.

Optional input allows the processor to provide full support for the UoFs “identification” and “authorization”.

The remainder of this document deals mainly with the CM Data input for the AP203 CADverter, as the AP214 and AP242 standards do not require the same level of minimum data. For AP214 and AP242, the requirement is only for the Product, Version and Definition data to be present.

This document is divided into sections each of which will give a different perspective on the data to be provided.

The first section provides an overview of the data and file construction.

The second section defines the structure of the file in more detail and describes each entity and attribute. Note that the descriptions given imply a certain interpretation of the AP203 schema and structure and might be described or used differently according to the internal culture and terminology of any enterprise.

The third section defines the mapping to the AP203 schema entities and attributes at AIM (Application Interpreted Model) level.

The fourth section defines the mapping to the AP203 ARM (the Application Reference Model). Not all of the entities and attributes in the file are defined in the ARM but all are required to satisfy the AP203 rules related to the ARM information used.

The fifth section is a sample file as used within the PDES Stepnet testing process.

The sixth section defines the defaults used for each entity where the relevant data is not provided.

1. Overview

The data pertains to a PART and to a specific VERSION and DEFINITION of that PART. The PART must have an owner (the design owner). The VERSION must have been created, supplied, approved and classified. The classification must have an approver. The DEFINITION or the specific design of this version must have a creator and must be approved.

Thus the basis for the data is a series of actions (which includes the required actions of approving other actions). Actions require a “performer” and may have a “date” of action attached.

A “performer” must be defined as a person and the organization to which they belong. Thus the “performer” is defined within the context of a person and organization combination.

A “date” here is defined as the combination of a date and time, the time being specified relative to the appropriate local time zone.

The data is therefore split into 2 sections.

The first section allows basic units of information which might be required more than once within the part related data to be defined. These are organizations, people and time zones. This is referred to as the library section below.

The second section allows the specific part information to be supplied and uses the data from the first section.

2. Structure and Mapping

The data is differentiated into header records and attribute records. Header records begin with a # and define the start of a block of attribute information. The block name defines the type of data following and is in upper case characters (eg #ORG, #PERSON, #CLASSIFICATION).

Attribute records begin with a $ which is followed by the attribute name in lower case characters. This name is followed by a colon which is then followed by the data. The data may contain blank characters. Where multiple items are data are defined (eg $date) the items are delimited by a comma

e.g. $person_id : Person-1 $purpose : Because I want to $date : edt,1993,7,17,13,45,20

The majority of the information defined is textual. Where it is other than text data this is specified in the description for the attribute in this section.

Where AP203 restrictions apply the relevant possible list of options is given. If the data is text information in AP203 then the user may choose to use an alternative value and no check is made that the restriction rule has been satisfied. NB for make_or_buy the data within the AP203 schema is defined with an enumeration and so only the values listed may be used.

Where appropriate, recommendations from the AP203 Recommended Practices document have been given.

The base information for the CM data consists of people, organizations, addresses and date- times.

The format allows for the input of a number of organizations, each one initiated via the #ORG record and for which a unique $org_id must be provided.

Where people are referred to this is done within the context of an organization so the organizations are defined first. Subsequently each person block is defined with a reference via org_id back to the relevant organization.

The persons are initiated via a #PERSON record for which a $org_id record must be used to identify the relevant organization and also for which a unique $person_id record must be provided which identifies the person and organization combination.

Date and time items are defined within the context of a time zone so the time zone(s) data is defined first. For each time zone, initiated with a #TIME_ZONE record, a unique name must be defined. Time zone descriptions below are done in relation to Greenwich Meant Time (GMT). For the purposes of this data GMT is deemed to be equivalent to Coordinated Universal Time which is the formal reference time for AP203.

Persons and organizations may have addresses. Addresses must be defined with an address_id before they can be referred to within a person or org definition. They are linked via the address_id.

Following the input of the base information the data relevant to the specific product may be defined. The #DATA record delineates between organization, person and time_zone data and the product data.

Each set of data for the product may refer back to persons via the person_id. Date items refer to the relevant time zone via the given name.

Each item used in this file is flagged as mandatory (m) or optional (o). Note that in most cases the omission of a mandatory attribute will cause an error message to be given but a default value will be assigned to the attribute to allow processing to continue.

The library section of the file contains #ORG, #PERSON and #TIMEZONE blocks.

#ADDRESS

Mandatory/Optional

Field

Description

m

$address_id

address identifier

o

$internal_location

o

$street_number

o

$street

o

$postal_box

o

$town

o

$region

o

$postal_code

o

$country

o

$facsimile_number

o

$telephone_number

o

$electronic_mail_address

o

$telex_number

NB! at least one optional parameter must be set

#ORG

Mandatory/Optional

Field

Description

m

$org_id

unique organization identifier

m

$org_name

the name of the organization

o

$org_description

a description of the organization

o

$address_id

organization address identifier

#PERSON

Mandatory/Optional

Field

Description

m

$org_id

the organization to which the person belongs in this context

m

$person_id

unique person id

m

$first_name

person’s first name

m

$last_name

person’s last name

o

$middle

person’s middle names if any exist

o

$prefix

person’s prefix titles if any exist

o

$suffix

person’s suffix titles if any exist

o

$address_id

person address identifier

#TIME_ZONE

Mandatory/Optional

Field

Description

m

$name&offset

The time zone in which the activity dates are defined is specified relative to GMT. A name for the time zone by which the dates provided will refer to it is given together with the hours difference from GMT.

Positive hour offset values apply to time zones which are ahead (ie east) of the meridian. Negative time zones refer to time zones which are behind the meridian (ie west of the meridian).

Optionally a minute offset can be added.

Format is: name,hour or name,hour,minute

name – may not contain commas. hour – is an integer number. minute – is an integer number.

The end of the library section and start of the data section is defined with a block header #DATA

When dates are defined in this section it is actually a date and time which has to be provided. The syntax for a date record is as follows.

$date : time-zone-name,year,month,day,hour,minute,second

#DATE

Mandatory/Optional

Field

Description

m

time-zone-name

name of the time zone defined in the library section

m

year

the year (integer number)

m

month

the month of the year (integer number)

m

day

the day of the month (integer number)

m

hour

the hour of the day (integer number)

o

minute

the minute of the hour (integer number)

o

second

the second of the minute (real number)

Each field is delimited with a comma.

The data in this section can be considered in 3 categories:

  1. Information about the part

  2. Information about version of the part

  3. Information about definition of the part

The data section can specify information related to the part via the following block headers grouped according to these 3 categories:

  • #PRODUCT

    • #DESIGN_OWNER

  • #PRODUCT_VERSION

    • #PRODUCT_SOURCE

    • #DESIGN_SUPPLIER

    • #VERSION_CREATION

    • #VERSION_APPROVAL

    • #CLASSIFICATION

    • #CLASSIFICATION_APPROVAL

  • #PRODUCT_DEFINITION

    • #DESIGN_CREATOR

    • #PRODUCT_APPROVAL

Definitions and attributes for these are as follows:

#PRODUCT

Mandatory/Optional

Field

Description

m

$product_name

part name

m

$product_id

part number

o

$description

part description

o

$product_type

part_type be assembly, inseparable_assembly, detail or customer_furnished_equipment

o

$product_class

part_classification must be assembly, inseparable_assembly, detail, customer_furnished_equipment cast, coined, drawn, extruded, forged, formed, machined, molded, rolled or sheared

o

$context_name

name for product_context (AP203 mechanical_context)

o

$category_name

optional additional product category. Products may have additional category information. Each category may have a description. The additional category will be related to the product with a product_category_relationship which may have a name and description. A category name introduces a new category definition. Subsequent category information will pertain to that category until another category name is found. Note for standard part indicator set as standard_part

o

$category_desc

product_category.description for preceding category

o

$category_rel_name

product_category_relationship name for preceding category linking to product_related_product_category

o

$category_rel_desc

product_category_relationship.description for preceding category_rel

#DESIGN_OWNER

Mandatory/Optional

Field

Description

m

$person_id

the id of the person defined in the library section

#PRODUCT_VERSION

Mandatory/Optional

Field

Description

m

$version

the revision letter

o

$description

a description for this version

#PRODUCT_SOURCE

Mandatory/Optional

Field

Description

m

$make_or_buy

may be MADE, BOUGHT or NOT_KNOWN

#DESIGN_SUPPLIER

Mandatory/Optional

Field

Description

m

$person_id

the id of the person defined in the library section

#VERSION_CREATION

Mandatory/Optional

Field

Description

m

$person_id

the id of the person defined in the library section

#VERSION_APPROVAL

Mandatory/Optional

Field

Description

m

$person_id

the approver

m

$status

status of the approval must be one of: Approved, not_yet_approved, disapproved, withdrawn

m

$purpose

the purpose of the action

m

$date

the date when the action took place

#CLASSIFICATION

Mandatory/Optional

Field

Description

m

$person_id

the classification officer

m

$status

the classification level must be one of: unclassified, classified, proprietary, confidential, secret, top_secret

m

$purpose

the purpose of the classification

m

$name

the name for the classification if the version is defined with a status of classified, this could be the company name for the classification eg “secret restricted”

m

$date

the date of classification

#CLASSIFICATION_APPROVAL

Mandatory/Optional

Field

Description

m

$person_id

the approver

m

$status

status of the approval must be one of: approved, not_yet_approved, disapproved, withdrawn

m

$purpose

the purpose of the action

m

$date

the date when the action took place

#PRODUCT_DEFINITION

Mandatory/Optional

Field

Description

m

$description

a description for this definition

o

$id

identifier for product_definition

o

$life_cycle_stage

for AP203 must be set as design

o

$context_name

design discipline context name

o

$shape_name

name for product definition shape

o

$shape_description

description for product definition shape

#DESIGN_CREATOR

Mandatory/Optional

Field

Description

m

$person_id

the id of the person defined in the library section

m

$date

the date when the design creation took place

#PRODUCT_APPROVAL

Mandatory/Optional

Field

Description

m

$person_id

the approver

m

$status

status of the approval must be one of: approved, not_yet_approved, disapproved, withdrawn

m

$purpose

the purpose of the action

m

$date

the date when the action took place

The file is terminated with an #END record

3. Mappings to the AIM (The Schema)

#ORG – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$org_id

organization.id

m

$org_name

organization.name

o

$org_description

organization.description

#PERSON – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$org_id

$organization.id : person_and_organization

m

$person_id

person.id

m

$first_name

person.first_name

m

$last_name

person.last_name

o

$middle

person.middle_names

o

$prefix

person.prefix_titles

o

$suffix

person.suffix_titles

#ADDRESS – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

o

$internal_location

address.internal_location

o

$street_number

address.street_number

o

$street

address.street

o

$postal_box

address.postal_box

o

$town

address.town

o

$region

address.region

o

$postal_code

address.postal_code

o

$country

address.country

o

$facsimile_number

address.facsimile_number

o

$telephone_number

address.telephone_number

o

$electronic_mail_address

address.electronic_mail_address

o

$telex_number

address.telex_number

NB! at least one optional parameter must be set

#TIME_ZONE – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$name&offset

file-id-name,hour,minute – file-id-name is the name used within this file

m

(hour)

coordinated_universal_time_offset.hour_offset. The sign of this value defines ahead_or_behind. +ve values -> ahead. -ve values -> behind (so Eastern Standard Time = -5)

o

(minute)

coordinated_universal_time_offset.minute_offset

Where for any date below:

$date – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

file-id-name,year,month,day,hour,minute,second

date

m

file-id-name

-> time_zone -> coordinated_universal_time_offset

m

year

calendar_date.year_component

m

month

calendar_date.month_component

m

day

calendar_date.day_component

m

hour

local_time.hour_component

o

minute

local_time.minute_component

o

second

local_time.second_component

#DATA

#PRODUCT – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$product_name

product.name

m

$product_id

product.id

o

$description

product.description

o

$product_type

product_related_product_category.name must be: Assembly, inseparable_assembly, detail, customer_furnished_equipment

o

$product_class

product_related_product_category.name must be one of: product_type list, cast, coined, drawn, extruded, forged, formed, machined, molded, rolled or sheared

o

$context_name

product_context.name (AP203 mechanical_context.name)

o

$category_name

product_category.name. Note for standard part indicator set as standard_part

o

$category_desc

product_category.description for preceding category

o

$category_rel_name

product_category_relationship.name

o

$category_rel_desc

product_category_relationship.description

#DESIGN_OWNER – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

cc_design_person_and_organization_assignment.assigned_person_and_organization where: cc_design_person_and_organization_assignment.role -> person_and_organization_role.name = “design_owner” cc_design_person_and_organization_assignment.items[0] = product

#DESIGN_VERSION – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$version

product_definition_formation_with_specified_source.id

o

$description

product_definition_formation_with_specified_source.description

#DESIGN_SOURCE – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$make_or_buy

product_definition_formation_with_specified_source.make_or_buy NB must be BOUGHT, MADE or NOT_KNOWN

#DESIGN_SUPPLIER – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

cc_design_person_and_organization_assignment.assigned_person_and_organization where: cc_design_person_and_organization_assignment.role -> person_and_organization_role.name = “design_supplier” cc_design_person_and_organization_assignment.items[0] = product_definition_formation_with_specified_source

#VERSION_CREATION – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

cc_design_person_and_organization_assignment.assigned_person_and_organization where: cc_design_person_and_organization_assignment.role -> person_and_organization_role.name = “creator” cc_design_person_and_organization_assignment.items[0] = product_definition_formation_with_specified_source

#VERSION_APPROVAL – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

approval_person_organization.person_organization

m

$status

approval_status.name

m

$purpose

approval.level

m

$date

approval_date_time.date_time and cc_design_date_and_time_assignment.assigned_date_and_time where: cc_design_date_and_time_assignment.role -> date_time_role.name = “sign_off_date” cc_design_date_and_time_assignment.items[0] = approval_person_organization for VERSION_APPROVAL

#CLASSIFICATION – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

cc_design_person_and_organization_assignment.assigned_person_and_organization where: cc_design_person_and_organization_assignment.role -> person_and_organization_role.name = “classification_officer” cc_design_person_and_organization_assignment.items[0] = security_classification

m

$status

security_classification_level.name

m

$purpose

security_classification.purpose

m

$name

security_classification.name

m

$date

cc_design_date_and_time_assignment.assigned_date_and_time where: cc_design_date_and_time_assignment.role -> date_time_role.name = “classification_date” .items[0] = security_classification

#CLASSIFICATION_APPROVAL – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

approval_person_organization.person_organization

m

$status

approval_status.name

m

$purpose

approval.level

m

$date

approval_date_time.date_time and cc_design_date_and_time_assignment.assigned_date_and_time where: cc_design_date_and_time_assignment.role -> date_time_role.name = “sign_off_date” cc_design_date_and_time_assignment.items[0] = approval_person_organization for CLASSIFICATION_APPROVAL

#PRODUCT_DEFINITION – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$description

product_definition.description

o

$id

product_definition.id

o

$life_cycle_stage

product_definition_context.life_cycle_stage using product_definition_context subtype design_context

o

$context_name

product_definition_context.name

o

$shape_name

product definition shape.name

o

$shape_description

product definition shape.description

#DESIGN_CREATOR – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

cc_design_person_and_organization_assignment.assigned_person_and_organization where: cc_design_person_and_organization_assignment.role -> person_and_organization_role.name = “creator” cc_design_person_and_organization_assignment.items[0] = product_definition

m

$date

cc_design_date_and_time_assignment.assigned_date_and_time where: cc_design_date_and_time_assignment.role -> date_time_role.name = “creation_date” cc_design_date_and_time_assignment.items[0] = product_definition

#PRODUCT_APPROVAL – AIM Mapping

Mandatory/Optional

Field

AIM Mapping

m

$person_id

approval_person_organization.person_organization

m

$status

approval_status.name

m

$purpose

approval.level

m

$date

approval_date_time.date_time and cc_design_date_and_time_assignment.assigned_date_and_time where: cc_design_date_and_time_assignment.role -> date_time_role.name = “sign_off_date” cc_design_date_and_time_assignment.items[0] = approval_person_organization for PRODUCT_APPROVAL

#END

4. Mappings to the ARM

Note that there are many attributes which don’t map directly to the ARM of AP203 but need to be defined to satisfy the entity definitions or AP203 rules based on other ARM requirements.

Only those elements of the file format definition which relate directly to the ARM are listed here.

The data is indented in order to denote a dependency on a previous block. eg DESIGN_OWNER is dependent on PRODUCT, CLASSIFICATION_APPROVAL is dependent on CLASSIFICATION.

ARM mappings are as follows.

#ORG / #PERSON – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

#ORG

PERSON_ORGANIZATION.organization

#PERSON

PERSON_ORGANIZATION.person

m

$org_id

m

$person_id

PERSON_ORGANIZATION.person_organization_id

#ADDRESS

Address

#PRODUCT – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$product_name

PART.part_nomenclature

m

$product_id

PART.part_number

o

$product_type

PART_TYPE

o

$product_class

PART_CLASSIFICATION

o

$category_name

Standard part indicator = ‘standard_part’

#DESIGN_OWNER – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (Is The Owner Of PART)

#PRODUCT_VERSION – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$version

PART_VERSION.revision_letter

#PRODUCT_SOURCE

PART_VERSION.make_or_buy_code

#DESIGN_SUPPLIER – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (Missing From ARM)

#VERSION_CREATION – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (Is The Creator Of PART_VERSION)

#VERSION_APPROVAL – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (APPROVAL is Authorized By… Approves PART_VERSION)

m

$status

APPROVAL.status

m

$purpose

APPROVAL.purpose

m

$date

APPROVAL.date

#CLASSIFICATION – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (Classification Officer)

m

$status

PART_VERSION.security_code

#CLASSIFICATION_APPROVAL – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (CLASSIFICATION is approved by)

#PRODUCT_DEFINITION – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$description

DESIGN_DISCIPLINE_PRODUCT_DEFINITION.description

o

$life_cycle_stage

discipline_id life cycle stage

o

$context_name

discipline_id name

#DESIGN_CREATOR – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (Is The Creator Of DESIGN_DISCIPLINE_PRODUCT_DEFINITION)

m

$date

DESIGN_DISCIPLINE_PRODUCT_DEFINITION.creation_date

#PRODUCT_APPROVAL – ARM Mapping

Mandatory/Optional

Field

ARM Mapping

m

$person_id

PERSON_ORGANIZATION (APPROVAL is Authorized By… Approves DESIGN_DISCIPLINE_PRODUCT_DEFINITION)

5. Sample File

In this sample file empty records have been used to provide easier reading but the blank lines are not required for an actual file and would be ignored.

#ADDRESS
$address_id : NVI-Address
$region : Michigan
$country : USA

#ADDRESS
$address_id : White-Address
$town : Detroit
$country : USA
$electronic_mail_address : KWhite@NVI.com

#ORG
$org_id : NVI-Michigan
$org_name : New Ventures, Inc.
$address_id : NVI-Address

#ORG
$org_id : CDI
$org_name : Contract Design, Inc

#PERSON
$org_id : NVI-Michigan
$person_id : 333-003
$last_name : White
$first_name : K.
$middle : H.
$address_id : White-Address

#PERSON
$org_id : NVI-Michigan
$person_id : 555-005
$last_name : Johnson
$first_name : Stephen
$prefix : Mr.

#PERSON
$org_id : NVI-Michigan
$person_id : 666-006
$last_name : Spock
$first_name : Robert
$middle : S.

#PERSON
$org_id : NVI-Michigan
$person_id : 222-002
$last_name : Pierre
$first_name : Gabrielle

#PERSON
$org_id : NVI-Michigan
$person_id : 777-007
$last_name : Black
$first_name : James

#PERSON
$org_id : CDI
$person_id : CDI-2
$last_name : Smith
$first_name : B.

#TIME_ZONE
$name&offset : edt -5

#DATA

#PRODUCT
$product_name : Fillet Boot
$product_id : 22222

#PRODUCT_VERSION
$version : A

#PRODUCT_SOURCE
$make_or_buy : BOUGHT

#DESIGN_OWNER
$person_id : 333-003

#DESIGN_SUPPLIER
$person_id : CDI-2

#DESIGN_CREATOR
$person_id : 222-002
$date : edt,1993,7,19,19,46,55

#VERSION_CREATION
$person_id : 222-002

#PRODUCT_DEFINITION
$description : detailed drawing as planned for STEP conformance testing

#VERSION_APPROVAL
$person_id : 777-007
$status : approved
$purpose : Approved as initial STEP test case part
$date : edt,1993,7,17,13,29,52

#PRODUCT_APPROVAL
$person_id : 777-007
$status : approved
$purpose : Approved as STEP conformance testing drawing
$date : edt,1993,7,19,19,47,51

#CLASSIFICATION_APPROVAL
$person_id : 666-006
$status : approved
$purpose : Approved as unclassified STEP test data
$date : edt,1993,7,17,13,47,28

#CLASSIFICATION
$person_id : 555-005
$status : unclassified
$purpose : open availability of STEP test data
$date : edt,1993,7,17,13,45,20
$name : 1993-C1

#END

6. Defaults Definition

This describes the full set of defaults used for the data attributes which may be defined. However, once an organization has been defined then that organization becomes the default. Once a person has been defined then that person becomes the default person (and organization).

Any unset date will be defaulted to the current time and date, defined as YYYY,MM,DD,HH below

#ORG
$org_id : Default_oid
$org_name : Default_org

#PERSON
$org_id : Default_oid
$person_id : Default_pid
$last_name : Doe
$first_name : John

#TIME_ZONE
$name&offset : tsc_gmt,0

#DATA

#PRODUCT
$product_name : product name
$product_id : product id
$product_type : detail or assembly dependent on data

#PRODUCT_VERSION
$version : version 0

#PRODUCT_SOURCE
$make_or_buy : NOT_KNOWN

#DESIGN_OWNER
$person_id : Default_pid

#DESIGN_SUPPLIER
$person_id : Default_pid

#DESIGN_CREATOR
$person_id : Default_pid
$date : tsc_gmt,YYYY,MM,DD,HH

#VERSION_CREATION
$person_id : Default_pid

#PRODUCT_DEFINITION
$description : unknown

#VERSION_APPROVAL
$person_id : Default_pid
$status : not_yet_approved
$purpose : unknown
$date : tsc_gmt,YYYY,MM,DD,HH

#PRODUCT_APPROVAL
$person_id : Default_pid
$status : not_yet_approved
$purpose : unknown
$date : tsc_gmt,YYYY,MM,DD,HH

#CLASSIFICATION_APPROVAL
$person_id : Default_pid
$status : not_yet_approved
$purpose : unknown
$date : tsc_gmt,YYYY,MM,DD,HH

#CLASSIFICATION
$person_id : Default_pid
$status : unclassified
$purpose : unknown
$date : tsc_gmt,YYYY,MM,DD,HH

#END