WORKING DRAFT

ISO 10303-238 Extension

AP238: Model based integrated manufacturing —
Extension for drill and fill operations

1 Scope

This extension specifies the information requirements the use of the integrated resources for processes that drill holes and then fill them with fasteners.

2 Normative references

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

3 Terms and definitions

None.

4 Information requirements

4.1 General

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.

4.2 Units of functionality

4.2.1 Process data for filling

The following application objects are used by the process data for filling UoF, and shall be as defined by this document:

4.3 Application objects

4.3.1 General

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.

Map ARM

4.3.2 Fill_type_operation

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;
Map ARM

4.3.3 Fasten_operation

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;

4.3.3.1 manual

True if the operation is to be performed manually.

4.3.3.2 existing_hole

True if the hole for the fastener has already been drilled.

4.3.3.3 existing_tack

True if the hole has been temporarily fastened with a tack.

4.3.3.4 fastener

4.3.3.5 collar

4.3.3.6 washer

4.3.3.7 sealant

4.3.3.8 clamp_force

4.3.3.9 high_speed_clamp

Map ARM

4.3.4 Fasten_with_codes

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;

4.3.4.1 pass_thru_codes

Map ARM

4.3.5 Remove_product_operation

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;

4.3.5.1 removed_item

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.

Map ARM

4.3.6 Add_product_operation

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;

4.3.6.1 added_item

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.

4.3.6.2 depth

The depth parameter.

Map ARM

4.3.7 Identify_product_operation

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;

4.3.7.1 identified_item

4.3.7.2 uuid_seed

4.3.7.3 generation_method

Map ARM

4.3.8 Serialize_product_operation

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;

4.3.8.1 serialized_item

4.3.8.2 serial_number_seed

4.3.8.3 generation_method

Map ARM

4.3.9 Tighten_product_operation

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;

4.3.9.1 tightened_item

4.3.9.2 torque

Map ARM

4.3.10 Shave_product_operation

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;

4.3.10.1 shaved_item

4.3.10.2 depth

Map ARM

4.3.11 Seal_product_operation

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;

4.3.11.1 sealed_item

4.3.11.2 quantity

4.3.11.3 sealant

4.3.11.4 batch

Map ARM

4.3.12 Adjust_placement_probing

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;

4.3.12.1 adjusted_item

Map ARM

4.3.13 Connect_escape_stack

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;

4.3.13.1 escape_point

4.3.13.2 pose_constraints

4.3.13.3 next_level

Map ARM

4.3.14 Load_nose

The Load_nose application object is a kind of NC function.

// Load_nose NC function

4.4 Application assertions

5 Application interpreted model

5.1 Mapping specification

5.1.1 General

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.

5.1.2 Mapping specification for Process data for filling UoF

The mapping specification for the application objects in this UoF shall be as defined by the specification below.

AO ARM

5.1.2.1 FILL_TYPE_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method
AO ARM

5.1.2.2 FASTEN_OPERATION

AIM element: fasten_operation
Source: 10303-238
Reference path: fasten_operation <= filling_type_operation <= machining_operation <= action_method
5.1.2.2.1 manual

#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' ) }
5.1.2.2.2 existing_hole

#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' ) }
5.1.2.2.3 fasten_operation to product_view_definition (as existing_tack)
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
5.1.2.2.4 fasten_operation to product_view_definition (as fastener)
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
5.1.2.2.3 fasten_operation to product_view_definition (as collar)
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
5.1.2.2.3 fasten_operation to product_view_definition (as washer)
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
5.1.2.2.7 sealant
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' ) }
5.1.2.2.8 clamp_force
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 }
5.1.2.2.9 high_speed_clamp

#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' ) }
AO ARM

5.1.2.3 FASTEN_WITH_CODES

AIM element: fasten_operation
Source: 10303-238
Reference path: fasten_operation <= filling_type_operation <= machining_operation <= action_method { action_method.description = 'codes' }
5.1.2.3.1 pass_thru_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
AO ARM

5.1.2.4 REMOVE_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'remove product' }
5.1.2.4.1 remove_product_operation to product_view_definition (as removed_item)
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
AO ARM

5.1.2.5 ADD_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'add product' }
5.1.2.5.1 add_product_operation to product_view_definition (as added_item)
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
5.1.2.5.2 depth
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
AO ARM

5.1.2.6 IDENTIFY_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'identify product' }
5.1.2.6.1 identify_product_operation to product_view_definition (as identified_item)
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
5.1.2.6.2 uuid_seed
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
5.1.2.6.3 generation_method
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
AO ARM

5.1.2.7 SERIALIZE_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'serialize product' }
5.1.2.7.1 serialize_product_operation to product_view_definition (as serialized_item)
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
5.1.2.7.2 serial_number_seed
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
5.1.2.7.3 generation_method
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
AO ARM

5.1.2.8 TIGHTEN_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'tighten product' }
5.1.2.8.1 tighten_product_operation to product_view_definition (as tightened_item)
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
5.1.2.8.2 torque
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 }
AO ARM

5.1.2.9 SHAVE_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'shave product' }
5.1.2.9.1 shave_product_operation to product_view_definition (as shaved_item)
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
5.1.2.9.2 depth
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
AO ARM

5.1.2.10 SEAL_PRODUCT_OPERATION

AIM element: filling_type_operation
Source: 10303-238
Reference path: filling_type_operation <= machining_operation <= action_method { action_method.description = 'seal product' }
5.1.2.10.1 seal_product_operation to product_view_definition (as sealed_item)
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
5.1.2.10.2 quantity
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 }
5.1.2.10.3 seal_product_operation to product_view_definition (as sealant)
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
5.1.2.10.4 batch
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
AO ARM

5.1.2.11 ADJUST_PLACEMENT_PROBING

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
5.1.2.11.1 adjusted_item

#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)
AO ARM

5.1.2.12 CONNECT_ESCAPE_STACK

5.1.2.12.1 escape_point
5.1.2.12.2 pose_constraints
5.1.2.12.3 next_level
AO ARM

5.1.2.13 LOAD_NOSE

5.2 AIM EXPRESS short listing

5.2.1 General

5.2.2 Fundamental concepts and assumptions

5.2.3 Model based integrated manufacturing types

5.2.4 Model based integrated manufacturing entities

5.2.4.1 Model based integrated manufacturing entity definitions

5.2.4.1.1 filling_type_operation

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.

EXPRESS specification:
*)
ENTITY filling_type_operation
  SUBTYPE OF (machining_operation);
END_ENTITY;
(*
5.2.4.1.2 fasten_operation

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.

EXPRESS specification:
*)
ENTITY fasten_operation
  SUBTYPE OF (filling_type_operation);
END_ENTITY;
(*

© ISO 2022 — All rights reserved