WORKING DRAFT
ISO 10303-238 Extension
This extension specifies the information requirements the use of the integrated resources for processes that drill holes and then fill them with fasteners.
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
ISO 10303-238, Industrial automation systems and integration — Product data representation and exchange — Part 238: Application protocol: Model based integrated manufacturing
None.
This clause specifies the information required for drill and fill operations used in model based integrated manufacturing. The existing Process data for milling UoF describes drilling operations. The new Process data for filling UoF describes the operations performed after drilling, dealing with fasteners.
The following application objects are used by the process data for filling UoF, and shall be as defined by this document:
This subclause specifies the application objects for the model based integrated manufacturing application protocol. Each application object is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the object. The application objects and their definitions are given below.
The Fill_type_operation application object is a kind of machining operation that adds something to the as_is model.
ENTITY Fill_type_operation SUBTYPE_OF Machining_operation; END_ENTITY;
The Fasten_operation application object is a kind of fill type operation that inserts a fastener to a stack of round holes.
ENTITY Fasten_operation SUBTYPE_OF Fill_type_operation; manual : BOOLEAN; existing_hole : Boolean; existing_tack : OPTIONAL Product_view_definition; fastener : Product_view_definition; collar : OPTIONAL Product_view_definition; washer : OPTIONAL Product_view_definition; sealant : OPTIONAL sealant_type; clamp_force : OPTIONAL force_measure; high_speed_clamp : OPTIONAL Boolean; END_ENTITY; TYPE sealant_type = ENUMERATION OF (gloop, gunk, grind) END_TYPE;
True if the operation is to be performed manually.
True if the hole for the fastener has already been drilled.
True if the hole has been temporarily fastened with a tack.
The Fasten_with_codes application object is a kind of Fasten_operation that uses machine-specific codes to achieve its effect.
ENTITY Fasten_with_codes SUBTYPE_OF Fasten_operation; pass_thru_codes : LIST[1:?] OF STRING; END_ENTITY;
The Remove_product_operation application object removes a product from the workpiece.
NOTE Operations are performed in the context of a feature and workplan. This all goes wrong if there are two occurrences of the same product in the same context. Unlike the delta workpiece the added and removed items do not have set placements.
ENTITY Remove_product_operation SUBTYPE_OF Fill_type_operation; removed_item : Product_view_definition; END_ENTITY;
Each Remove_product_operation refers to one Product_view_definition object as added_item. Each Product_view_definition acts as added_item for zero or more Remove_product_operation objects.
The Add_product_operation application object adds a product to the workpiece.
NOTE Operations are performed in the context of a feature and workplan. This all goes wrong if there are two occurrences of the same product in the same context. Unlike the delta workpiece the added and removed items do not have set placements.
ENTITY Add_product_operation SUBTYPE_OF Fill_type_operation; added_item : Product_view_definition; depth : OPTIONAL distance_measure; END_ENTITY;
Each Add_product_operation refers to one Product_view_definition object as added_item. Each Product_view_definition acts as added_item for zero or more Add_product_operation objects.
The depth parameter.
The Identify_product_operation application object is a kind of Fill_type_operation.
ENTITY Identify_product_operation SUBTYPE_OF Fill_type_operation; identified_item : Product_view_definition; uuid_seed : OPTIONAL String; generation_method : OPTIONAL String; END_ENTY;
The Serialize_product_operation application object is a kind of Fill_type_operation.
ENTITY Serialize_product_operation SUBTYPE_OF Fill_type_operation; serialized_item : Product_view_definition; serial_number_seed : OPTIONAL String; generation_method : OPTIONAL String; END_ENTY;
The Tighten_product_operation application object is a kind of Fill_type_operation.
ENTITY Tighten_product_operation SUBTYPE_OF Fill_type_operation; tightened_item : Product_view_definition; torque : OPTIONAL force_measure; END_ENTITY;
The Shave_product_operation application object is a kind of Fill_type_operation.
ENTITY Shave_product_operation SUBTYPE_OF Fill_type_operation; shaved_item : Product_view_definition; depth : OPTIONAL distance_measure; END_ENTITY;
The Seal_product_operation application object is a kind of Fill_type_operation.
ENTITY Seal_product_operation SUBTYPE_OF Fill_type_operation; sealed_item : Product_view_definition; quantity : OPTIONAL volume_measure; sealant : OPTIONAL Product_view_definition; batch : OPTIONAL identifier; END_ENTITY;
The Adjust_placement_probing application object is a kind of Feature_complete_probing.
ENTITY Adjust_placement_probing
SUBTYPE_OF Feature_complete_probing;
adjusted_item : Product_or_Process;
END_ENTITY;
TYPE Product_or_Process = SELECT(
Product_view_definition,
Executable);
END_TYPE;
The Connect_escape_stack application object is a kind of Connector. It describes a safe escape when operation sequence interupted.
ENTITY Connect_escape_stack SUBTYPE_OF Connector; escape_point : placement; pose_constraints : OPTIONAL SET [1:?] OF Machine_axis_constraint; next_level : OPTIONAL connect_escape_stack; END_ENTITY;
The Load_nose application object is a kind of NC function.
// Load_nose NC function
This clause specifies how each UoF and application object in clause 4 shall be represented by one or more AIM EXPRESS constructs given by Annex A. Each mapping specification contains up to five elements.
The mapping specification for the application objects in this UoF shall be as defined by the specification below.
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method |
| AIM element: | fasten_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method |
#1: if value is true
#2: if value is false (mapping may be omitted if value is false)
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'manual' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description { #1: (descriptive_representation_item.description = 'manual' ) #2: (descriptive_representation_item.description = 'automatic' ) } |
#1: if value is true
#2: if value is false (mapping may be omitted if value is false)
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'existing hole' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description { #1: (descriptive_representation_item.description = 'exists' ) #2: (descriptive_representation_item.description = 'missing' ) } |
| AIM element: | PATH |
|---|---|
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'existing tack' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | PATH |
|---|---|
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'fastener' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | PATH |
|---|---|
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'collar' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | PATH |
|---|---|
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'washer' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'sealant' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'gloop' ) (descriptive_representation_item.description = 'gunk' ) (descriptive_representation_item.description = 'grind' ) } |
| AIM element: | measure_with_unit |
|---|---|
| Source: | 10303-41 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'clamp force' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
#1: if value is true
#2: if value is false (mapping may be omitted if value is false)
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'clamp speed' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description { #1: (descriptive_representation_item.description = 'high' ) #2: (descriptive_representation_item.description = 'normal' ) } |
| AIM element: | fasten_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method { action_method.description = 'codes' } |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | fasten_operation <= filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'codes' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => compound_representation_item compound_representation_item.item_element -> compound_item_definition compound_item_definition = list_representation_item list_representation_item[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'remove product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'removed item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'add product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'added item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | length_measure_with_unit |
|---|---|
| Source: | 10303-41 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'depth' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'identify product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'identified item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'uuid seed' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'generation method' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'serialize product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'serialized item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'serial number seed' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'generation method' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'tighten product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'tightened item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | measure_with_unit |
|---|---|
| Source: | 10303-41 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'torque' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'shave product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'shaved item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | length_measure_with_unit |
|---|---|
| Source: | 10303-41 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'depth' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
| AIM element: | filling_type_operation |
|---|---|
| Source: | 10303-238 |
| Reference path: | filling_type_operation <= machining_operation <= action_method { action_method.description = 'seal product' } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'sealed item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| AIM element: | measure_with_unit |
|---|---|
| Source: | 10303-41 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'quantity' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = volume_measure volume_measure } |
| AIM element: | PATH |
|---|---|
| Reference path: | filling_type_operation <= machining_operation <= action_method <- action.chosen_method { action.name = 'sealant' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition |
| Reference path: | descriptive_representation_item.description |
|---|---|
| Source: | 10303-45 |
| Reference path: | filling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'batch' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
| AIM element: | machining_touch_probing |
|---|---|
| Source: | 10303-238 |
| Reference path: | machining_touch_probing <= machining_operation <= action_method { action_method.description = 'adjust placement probing' } NOTE: adjust mapping for feature complete probing to allow this string |
#1: if value is a product_definition
#2: if value is a machining_product_executable
| AIM element: | PATH |
|---|---|
| Reference path: | machining_touch_probing <= machining_operation <= action_method <- #1: (action.chosen_method { action.name = 'adjusted item' } action => product_definition_process <- process_product_association.process process_product_association process_product_association.defined_product -> characterized_product_definition characterized_product_definition = product_definition product_definition) #2: (action_method_relationship.relating_method action_method_relationship { action_method_relationship.name = 'adjusted item' } action_method_relationship.related_method -> action_method => machining_process_executable) |
A filling_type_operation is a type of machining_operation that represents the details of a machining step in which an existing hole or void is filled with a fastener. See the ARM definitions for Filling_type_operation and subtypes for more information.
*) ENTITY filling_type_operation SUBTYPE OF (machining_operation); END_ENTITY; (*
A fasten_operation is a type of filling_type_operation that represents the details of a manufacturing step in which in which a fastener is inserted or manipulated. See the ARM definitions for Fasten_operation and subtypes for more information.
*) ENTITY fasten_operation SUBTYPE OF (filling_type_operation); END_ENTITY; (*
© ISO 2022 — All rights reserved