Overview
When the ARM engine is used to write STEP data, it is grouped by ARM object and a comment is added showing how the instances fit together. The syntax of the comment is shown below:
comment: line+
line: record '\n'
record: empty | ao-header | property
empty: padding
ao-header: padding 'Application object:' ws name ws '(' ws eid ws ')' rest
property: padding name ws index ws ':' ws eid-list scalar rest
padding: ( SPACE | TAB | '*' )*
ws: (SPACE | TAB ) *
eid: '#' DIGIT*
eid-list: NOTHING | (eid ',')* eid
scalar: NOTHING | '[' ws (NOT ']')* ws ']'
name: (CAPITAL | DIGIT | _)*
scalar: NOTHING | '[' scalar-content ']'
scalar-content: (''' [^']* ''') | real | int | word
real: {real number}
int: DIGIT+
word: (LETTER | DIGIT | _)*
rest: ANY*
Example
The Part 21 data below shows the instances for a STEP-NC Project concept.
/************************************************
* Application object: PROJECT (#10)
* MAIN_WORKPLAN: #10, #11, #12, #104
* ITS_ID: #10, #13, #14 ['../../Tests/TC005']
* ITS_WORKPIECES [*]: #10, #15, #99
*/
#10=PRODUCT_DEFINITION('','',#13,#16);
#11=PROCESS_PRODUCT_ASSOCIATION('','',#10,#12);
#12=PRODUCT_DEFINITION_PROCESS('machining','',#104,'');
#13=PRODUCT_DEFINITION_FORMATION('','',#14);
#14=MACHINING_PROJECT('../../Tests/TC005','',$,(#18));
#15=MACHINING_PROJECT_WORKPIECE_RELATIONSHIP('','workpiece','',#10,#99);
#16=PRODUCT_DEFINITION_CONTEXT(' ',#17,'Manufacturing');
#17=APPLICATION_CONTEXT(
'Application protocol for the exchange of CNC data');
#18=PRODUCT_CONTEXT('drilling and milling',#17,'CNC Machining');
The Part 28 XML data below shows a similar set of instances, but using the XML exchange format.
<!-- ***********************************************
* Application object: PROJECT (id10)
* MAIN_WORKPLAN: id10, id11, id12, id11193
* ITS_ID: id10, id13, id14, ['New Project']
* ITS_WORKPIECES [*]: id10, id15, id2284
-->
<Product_definition id="id10" Id="" Description=""
Formation="id13" Frame_of_reference="id16"/>
<Process_product_association id="id11" Name=""
Description="" Process="id12">
<Defined_product>
<Product_definition ref="id10" xsi:nil="true"/>
</Defined_product>
</Process_product_association>
<Product_definition_process id="id12" Name="machining"
Description="" Chosen_method="id11193" Identification=""/>
<Product_definition_formation id="id13" Id=""
Description="" Of_product="id14"/>
<Machining_project id="id14" Id="New Project" Name=""
Frame_of_reference="id18"/>
<Machining_project_workpiece_relationship id="id15"
Id="" Name="" Description="" Relating_product_definition="id10"
Related_product_definition="id2284"/>
<Product_definition_context id="id16" Name="CNC Machining"
Frame_of_reference="id17" Life_cycle_stage="manufacturing"/>
<Application_context id="id17"
Application="Application protocol for the exchange of CNC data"/>
<Product_context id="id18" Name="CNC Machining"
Frame_of_reference="id17" Discipline_type="manufacturing"/>