ISO 10303-238:2022(E)
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.
NOTE It is customary to present mapping specifications in alphabetical order by UoF name, however this document presents the mapping specification in the same order as they appear in clause 4.2. This ordering matches the ordering of clauses in the ISO 14649 parts and is intended to simplify reference between these documents.
Application element: The mapping for each application element is specified in a separate sub-clause below. Application element names are given in title case. Attribute names and assertions are listed after the the application object to which they belong and are given in lower case.
AIM element: The name of one or more AIM entity data types (see Annex A), the term "IDENTICAL MAPPING", or the term "PATH". AIM entity data type names are given in lower case. Attributes of AIM entity data types are referred to as <entity name>.<attribute name>. The mapping of an application element may involve more than one AIM element. Each of these AIM elements is presented on a separate line in the mapping specification. The term "IDENTICAL MAPPING" indicates that both application objects involved in an application assertion map to the same instance of an AIM entity data type. The term "PATH" indicates that the application assertion maps to a collection of related AIM entity instances specified by the entire reference path.
Source: For those AIM elements that are interpreted from any common resource, this is the ISO standard number and part number in which the resource is defined. For those AIM elements that are created for the purposes of this document, this is "ISO 10303-" followed by the number of this part.
Rules: One or more global rules may be specified that apply to the population of the AIM entity data types specified as the AIM element or in the reference path. For rules that are derived from relationships between application objects, the same rule is referred to by the mapping entries of all the involved AIM elements. A reference to a global rule may be accompanied by a reference to the subclause in which the rule is defined.
Reference path: To describe fully the mapping of an application object, it may be necessary to specify a reference path involving several related AIM elements. Each line in the reference path documents the role of an AIM element relative to the AIM element in the line following it. Two or more such related AIM elements define the interpretation of the integrated resources that satisfies the requirement specified by the application object. For each AIM element that has been created for use within this document, a reference path to its supertype from an integrated resource is specified.
For the expression of reference paths and of the constraints between AIM elements, the following notational conventions apply:
[] | enclosed section constrains multiple AIM elements or sections of the reference path are required to satisfy an information requirement; |
() | enclosed section constrains multiple AIM elements or sections of the reference path are identified as alternatives within the mapping to satisfy an information requirement; |
{} | enclosed section constrains the reference path to satisfy an information requirement; |
<> | enclosed section constrains at one or more required reference path; |
|| | enclosed section constrains the supertype entity; |
-> | the attribute, whose name precedes the -> symbol, references the entity or select type whose name follows the -> symbol; |
<- | the entity or select type, whose name precedes the <- symbol, is referenced by the entity attribute whose name follows the <- symbol; |
[i] | the attribute, whose name precedes the [i] symbol, is an aggregate; any element of that aggregate is referred to; |
[n] | the attribute, whose name precedes the [n] symbol, is an ordered aggregate; member n of that aggregate is referred to; |
=> | the entity, whose name precedes the => symbol, is a supertype of the entity whose name follows the => symbol; |
<= | the entity, whose name precedes the <= symbol, is a subtype of the entity whose name follows the <= symbol; |
= | the string, select, or enumeration type is constrained to a choice or value; |
\ | the reference path expression continues on the next line; |
* | one or more instances of the relationship entity data type may be assembled in a relationship tree structure. The path between the relationship entity and the related entities, is enclosed with braces; |
-- | the text following is a comment or introduces a clause reference; |
*> | the select or enumeration type, whose name precedes the *> symbol, is extended into the select or enumeration type whose name follows the *> symbol; |
<* | the select or enumeration type, whose name precedes the <* symbol, is an extension of the select or enumeration type whose name follows the <* symbol; |
!{} | section enclosed by {} indicates a negative constraint placed on the mapping. |
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1054, ISO 10303-1106, ISO 10303-1753, and ISO 10303-1782.
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1011 and the specification below.
AIM element: | product_definition_formation |
---|---|
Source: | 10303-41 |
Reference path: | product_definition_formation { product_definition_formation.of_product -> product => machining_project } |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation <- product_definition.formation product_definition characterized_product_definition = product_definition characterized_product_definition <- process_product_association.defined_product process_product_association process_product_association.process -> product_definition_process <= action { action.name = 'machining' } action.chosen_method -> action_method => machining_process_executable => machining_workplan |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation <- product_definition.formation product_definition <- product_definition_relationship.relating_product_definition product_definition_relationship { product_definition_relationship => machining_project_workpiece_relationship } product_definition_relationship.related_product_definition -> product_definition |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation person_and_organization_item = product_definition_formation person_and_organization_item <- applied_person_and_organization_assignment.items[i] applied_person_and_organization_assignment <= person_and_organization_assignment { person_and_organization_assignment.role -> person_and_organization_role person_and_organization_role.name = 'owner' } person_and_organization_assignment.assigned_person_and_organization -> person_and_organization person_and_organization.the_person -> person |
AIM element: | date_and_time |
---|---|
Source: | 10303-41 |
Reference path: | product_definition_formation date_and_time_item = product_definition_formation date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment <= date_and_time_assignment { date_and_time_assignment.role -> date_time_role date_time_role.name = 'release date' } date_and_time_assignment.assigned_date_and_time -> date_and_time |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation approval_item = product_definition_formation approval_item <- applied_approval_assignment.items[i] applied_approval_assignment <= approval_assignment approval_assignment.assigned_approval -> approval |
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1006, ISO 10303-1026, ISO 10303-1030, ISO 10303-1110, ISO 10303-1118, ISO 10303-1681, and the specification below.
AIM element: | product_definition |
---|---|
Source: | 10303-41 |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'global tolerance' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation => shape_representation representation.items[i]-> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | product_definition <- product_definition_relationship.relating_product_definition {product_definition_relationship => product_definition_usage => make_from_usage_option} product_definition_relationship.related_product_definition -> product_definition |
AIM element: | shape_representation |
---|---|
Source: | 10303-41 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition => product_definition_shape } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition {property_definition_representation => shape_definition_representation } property_definition_representation property_definition_representation.used_representation -> representation => shape_representation |
#1: if bounding geometry is a block
#2: if bounding geometry is a right_circular_cylinder
#3: if bounding geometry is any other shape representation
AIM element: | #1: block_shape_representation #2: cylindrical_shape_representation #3: shape_representation |
---|---|
Source: | 10303-238 10303-238 10303-41 |
Reference path: | product_definition <- product_definition_relationship.relating_product_definition {product_definition_relationship => product_definition_usage => make_from_usage_option} product_definition_relationship product_definition_relationship.related_product_definition -> product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition => product_definition_shape } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition {property_definition_representation => shape_definition_representation } property_definition_representation property_definition_representation.used_representation -> representation => shape_representation => #1: (shape_representation_with_parameters => block_shape_representation) #2: (shape_representation_with_parameters => cylindrical_shape_representation) #3: (shape_representation) |
AIM element: | cartesian_point |
---|---|
Source: | 10303-42 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'clamping position' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation => shape_representation representation.items[i]-> representation_item => geometric_representation_item => point => cartesian_point |
AIM element: | PATH |
---|---|
Reference path: | product_definition approval_item = product_definition approval_item <- applied_approval_assignment.items[i] applied_approval_assignment <= approval_assignment approval_assignment.assigned_approval -> approval |
AIM element: | product_category.name |
---|---|
Source: | 10303-41 |
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product <- product_related_product_category.products[i] product_related_product_category => product_category { (product_category.name = 'fixture') (product_category.name = 'fixtured workpiece') (product_category.name = 'rawpiece') (product_category.name = 'tool') (product_category.name = 'workpiece') (product_category.name) } product_category.name |
AIM element: | PATH |
---|---|
Reference path: | product_definition <- product_definition_relationship.relating_product_definition product_definition_relationship => product_definition_usage => assembly_component_usage => next_assembly_usage_occurrence |
AIM element: | PATH |
---|---|
Reference path: | product_definition date_item = product_definition date_item <- applied_date_assignment.items[i] applied_date_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition organization_item = product_definition organization_item <- applied_organization_assignment.items[i] applied_organization_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition person_and_organization_item = product_definition person_and_organization_item <- applied_person_and_organization_assignment.items[i] applied_person_and_organization_assignment |
AIM element: | shape_representation |
---|---|
Source: | 10303-41 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition => product_definition_shape } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition {property_definition_representation => shape_definition_representation } property_definition_representation property_definition_representation.used_representation -> { representation => shape_representation } representation <- representation_relationship.rep_1 { representation_relationship => shape_representation_relationship } representation_relationship representation_relationship.rep_2 -> representation => shape_representation |
AIM element: | PATH |
---|---|
Reference path: | product_definition date_and_time_item = product_definition date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product approval_item = product approval_item <- applied_approval_assignment.items[i] applied_approval_assignment <= approval_assignment approval_assignment.assigned_approval -> approval |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product date_item = product date_item <- applied_date_assignment.items[i] applied_date_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product organization_item = product organization_item <- applied_organization_assignment.items[i] applied_organization_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product person_and_organization_item = product person_and_organization_item <- applied_person_and_organization_assignment.items[i] applied_person_and_organization_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.of_product -> product date_and_time_item = product date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation approval_item = product_definition_formation approval_item <- applied_approval_assignment.items[i] applied_approval_assignment <= approval_assignment approval_assignment.assigned_approval -> approval |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation date_item = product_definition_formation date_item <- applied_date_assignment.items[i] applied_date_assignment |
AIM element: | product_definition_formation.id |
---|---|
Source: | 10303-41 |
Reference path: | product_definition product_definition.formation -> product_definition_formation product_definition_formation.id See NOTE 2 |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation organization_item = product_definition_formation organization_item <- applied_organization_assignment.items[i] applied_organization_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation person_and_organization_item = product_definition_formation person_and_organization_item <- applied_person_and_organization_assignment.items[i] applied_person_and_organization_assignment |
AIM element: | PATH |
---|---|
Reference path: | product_definition product_definition.formation -> product_definition_formation date_and_time_item = product_definition_formation date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment |
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1814 and ISO 10303-1846.
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1526 and the specification below.
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'assignment' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lvalue' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => expression_item_representation_item |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'rvalue' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => expression_item_representation_item |
AIM element: | representation |
---|---|
Source: | 10303-43 |
Reference path: | representation { representation.name = 'channel' } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'display message' } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'message text' } 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_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action.chosen_method { action.name = 'as-is shape' } 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 |
#1: if value is true (mapping may be omitted if value is true)
#2: if value is false
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'enabled' } 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 = 'enabled' ) #2: (descriptive_representation_item.description = 'disabled')} |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_usage_relationship } action_method_relationship.related_method -> action_method => machining_machine_usage |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition action_property => machining_process_property |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action.chosen_method { action.name = 'removal shape' } 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: | machining_process_executable <= action_method <- action.chosen_method { action.name = 'to-be shape' } 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: | date_and_time |
---|---|
Source: | 10303-41 |
Reference path: | machining_process_executable date_and_time_item = machining_process_executable date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment <= date_and_time_assignment { date_and_time_assignment.role -> date_time_role date_time_role.name = 'twin end' } date_and_time_assignment.assigned_date_and_time -> date_and_time |
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'twin exception' } 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: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_twin_relationship } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'twin source' } 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: | date_and_time |
---|---|
Source: | 10303-41 |
Reference path: | machining_process_executable date_and_time_item = machining_process_executable date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment <= date_and_time_assignment { date_and_time_assignment.role -> date_time_role date_time_role.name = 'twin start' } date_and_time_assignment.assigned_date_and_time -> date_and_time |
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'twin worktime' } 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 => time_measure_with_unit |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'extended function' } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'description' } 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 = 'feature complete probing' } |
AIM element: | PATH |
---|---|
Source: | |
Reference path: | machining_touch_probing <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_feature_relationship } action_method_relationship.related_method -> { action_method => machining_process_executable => machining_feature_process } action_method <- action.chosen_method { action.name = 'expected value' } action => property_process <- process_property_association.process process_property_association process_property_association.property_or_shape -> property_or_shape_select property_or_shape_select = shape_definition shape_definition shape_definition = shape_aspect shape_aspect |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'start position' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | machining_fixture_usage |
---|---|
Source: | 10303-238 |
Reference path: | machining_fixture_usage <= action_method |
AIM element: | action_method.description |
---|---|
Source: | 10303-41 |
Reference path: | machining_fixture_usage <= action_method action_method.description |
AIM element: | action_method.name |
---|---|
Source: | 10303-41 |
Reference path: | machining_fixture_usage <= action_method action_method.name |
AIM element: | PATH |
---|---|
Reference path: | machining_fixture_usage <= action_method <- action.chosen_method { action.name = 'fixture workpiece' } 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: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_fixture_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'mount reference' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_fixture_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'workpiece reference' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'if statement' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'condition' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => boolean_expression |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_process_body_relationship => machining_process_branch_relationship } { action_method_relationship.name = 'true branch' } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_process_body_relationship => machining_process_branch_relationship } { action_method_relationship.name = 'false branch' } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | measure_with_unit => measure_representation_item <= representation_item { representation_item <- representation.items[i] representation <- resource_property_representation.representation resource_property_representation resource_property_representation.property -> resource_property resource_property.name = 'axis travel' } |
AIM element: | representation_item.name |
---|---|
Source: | 10303-41 |
Reference path: | measure_with_unit measure_representation_item <= representation_item representation_item.name |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | IDENTICAL MAPPING |
AIM element: | machining_execution_resource |
---|---|
Source: | 10303-238 |
Reference path: | machining_execution_resource <= action_resource |
AIM element: | PATH |
---|---|
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'axis travel' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'feedrate' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'feed speed' } representation.items[i] -> { representation_item.name = 'feed speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'number of control axis' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => measure_with_unit.value_component -> measure_value measure_value = count_measure count_measure |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'number of simultaneous axis' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => measure_with_unit.value_component -> measure_value measure_value = count_measure count_measure |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'positioning accuracy' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'spindle power' } resource_property <- resource_property_representation.property resource_property_representation resource_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: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'spindle torque' } resource_property <- resource_property_representation.property resource_property_representation resource_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: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'spindle' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_spindle_speed_representation } representation { representation.name = 'spindle speed' } representation.items[i] -> { representation_item.name = 'rotational speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'table indexing' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'required' ) (descriptive_representation_item.description = 'not required' ) } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'table length' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'table width' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'work volume height' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'work volume length' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_execution_resource <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'work volume width' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_machine_usage |
---|---|
Source: | 10303-238 |
Reference path: | machining_machine_usage <= action_method |
AIM element: | action_method.description |
---|---|
Source: | 10303-41 |
Reference path: | machining_machine_usage <= action_method action_method.description |
AIM element: | action_method.name |
---|---|
Source: | 10303-41 |
Reference path: | machining_machine_usage <= action_method action_method.name |
AIM element: | PATH |
---|---|
Reference path: | machining_machine_usage <= action_method <- action.chosen_method { action.name = 'machine usage' } 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: | product_definition |
---|---|
Source: | 10303-41 |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'configuration' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | mechanism_representation |
---|---|
Source: | 10303-105 |
Reference path: | product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition => product_definition_kinematics } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition {property_definition_representation => kinematic_property_definition_representation => kinematic_property_mechanism_representation } property_definition_representation property_definition_representation.used_representation -> representation => mechanism_representation |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource |
AIM element: | action_resource.name |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource action_resource.name |
AIM element: | PATH |
---|---|
Reference path: | machining_tool <= action_resource <- requirement_for_action_resource.resources[i] requirement_for_action_resource <= action_resource_requirement action_resource_requirement.operations[1] -> characterized_action_definition characterized_action_definition=action_method action_method => machining_tool_usage |
AIM element: | machining_workingstep |
---|---|
Source: | 10303-238 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method { action_method.description = 'machining' } |
AIM element: | PATH |
---|---|
Rules: | feature_optional_machining_property_process |
Reference path: | machining_workingstep <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_feature_relationship } action_method_relationship.related_method -> { action_method => machining_process_executable => machining_feature_process } action_method <- action.chosen_method { action.name = 'machining' } action => property_process <- process_property_association.process process_property_association process_property_association.property_or_shape -> property_or_shape_select property_or_shape_select = shape_definition shape_definition shape_definition = shape_aspect shape_aspect |
AIM element: | expression_item_representation_item |
---|---|
Source: | 10303-61 |
Reference path: | expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => numeric_expression => simple_numeric_expression => literal_number => (int_literal) (real_literal) |
AIM element: | representation_item.name |
---|---|
Source: | 10303-41 |
Reference path: | expression_item_representation_item <= representation_item representation_item.name |
AIM element: | literal_number.the_value |
---|---|
Source: | 13584-20 |
Reference path: | expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => numeric_expression => simple_numeric_expression => literal_number literal_number.the_value |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method |
AIM element: | expression_item_representation_item |
---|---|
Source: | 10303-61 |
Rules: | nc_variable_compatible_initial_value |
Reference path: | expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => numeric_expression => simple_numeric_expression => numeric_variable => (int_numeric_variable) (real_numeric_variable) |
AIM element: | representation_item.name |
---|---|
Source: | 10303-41 |
Reference path: | expression_item_representation_item <= representation_item representation_item.name |
AIM element: | literal_number.the_value |
---|---|
Source: | 13584-20 |
Rules: | nc_variable_compatible_initial_value |
Reference path: | expression_item_representation_item <= representation_item <- representation_item_relationship.relating_representation_item { representation_item_relationship.description = 'initial value' } representation_item_relationship representation_item_relationship.related_representation_item -> representation_item => expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => numeric_expression => simple_numeric_expression => literal_number { literal_number => (int_literal) (real_literal) } literal_number.the_value |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'non-sequential' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_process_body_relationship } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | machining_offset_vector_representation |
---|---|
Source: | 10303-43 |
Reference path: | machining_offset_vector_representation <= representation |
AIM element: | PATH |
---|---|
Reference path: | machining_offset_vector_representation <= representation representation.items[i] -> { representation_item.name = 'translate' } 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 => expression_item_representation_item |
AIM element: | PATH |
---|---|
Reference path: | machining_offset_vector_representation <= representation representation.items[i] -> { representation_item.name = 'rotate' } 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 => expression_item_representation_item |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'optional stop' } |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'parallel' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => [ machining_process_body_relationship => ] [ concurrent_action_method => ] machining_process_concurrent_relationship } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | machining_process_property |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_property <= action_property |
AIM element: | date_and_time |
---|---|
Source: | 10303-41 |
Reference path: | machining_process_property <= action_property date_and_time_item = action_property date_and_time_item <- applied_date_and_time_assignment.items[i] applied_date_and_time_assignment <= date_and_time_assignment { date_and_time_assignment.role -> date_time_role date_time_role.name = 'property date' } date_and_time_assignment.assigned_date_and_time -> date_and_time |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'program stop' } |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method |
AIM element: | machining_rapid_movement |
---|---|
Source: | 10303-238 |
Reference path: | machining_rapid_movement <= machining_operation <= action_method |
AIM element: | machining_rapid_movement |
---|---|
Source: | 10303-238 |
Reference path: | machining_rapid_movement <= machining_operation <= action_method { action_method.description = 'return home' } |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'selective' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_process_body_relationship => machining_process_branch_relationship } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'set mark' } |
AIM element: | product_definition_formation |
---|---|
Source: | 10303-41 |
Reference path: | product_definition_formation { product_definition_formation.of_product -> product => machining_setup } |
AIM element: | product.id |
---|---|
Source: | 10303-41 |
Reference path: | product_definition_formation product_definition_formation.of_product -> product product.id |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | product_definition_formation <- product_definition.formation product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition => product_definition_shape } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition {property_definition_representation => shape_definition_representation } property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'orientation'} representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | elementary_surface |
---|---|
Source: | 10303-42 |
Reference path: | product_definition_formation <- product_definition.formation product_definition characterized_product_definition = product_definition characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'security plane' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> representation_item => geometric_representation_item => surface => elementary_surface |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation <- product_definition.formation product_definition <- product_definition_relationship.relating_product_definition product_definition_relationship => machining_setup_workpiece_relationship |
AIM element: | PATH |
---|---|
Reference path: | product_definition_formation <- product_definition_formation <- product_definition.formation product_definition characterized_product_definition = product_definition characterized_product_definition <- process_product_association.defined_product process_product_association process_product_association.process -> product_definition_process <= action { action.name = 'fixture usage' } action.chosen_method -> action_method => machining_fixture_usage |
AIM element: | machining_operator_instruction |
---|---|
Source: | 10303-238 |
Reference path: | machining_operator_instruction <= action_method_with_associated_documents <= action_method |
AIM element: | action_method.description |
---|---|
Source: | 10303-41 |
Reference path: | machining_operator_instruction <= action_method_with_associated_documents <= action_method action_method.description |
AIM element: | document.id |
---|---|
Source: | 10303-41 |
Reference path: | machining_operator_instruction <= action_method_with_associated_documents action_method_with_associated_documents.documents[i] -> document document.id |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method { action_method.description = 'tool length probing' } |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method { (action_method.description = 'tool length probing') (action_method.description = 'tool radius probing') } |
AIM element: | cartesian_point |
---|---|
Source: | 10303-42 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'offset' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => point => cartesian_point |
AIM element: | positive_length_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'maximum wear' } 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 = positive_length_measure positive_length_measure |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method { action_method.description = 'tool radius probing' } |
AIM element: | machining_tool_usage |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_usage <= action_method |
AIM element: | action_method.description |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool_usage <= action_method action_method.description |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_tool_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'gage placement' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool carousel' } 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: | action_method.name |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool_usage <= action_method action_method.name |
AIM element: | PATH |
---|---|
Reference path: | machining_tool_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'library reference' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation => externally_defined_representation_with_parameters |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool position' } 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: | PATH |
---|---|
Reference path: | machining_tool_usage <= action_method <- action.chosen_method { action.name = 'tool usage' } 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: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_tool_usage <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool end placement' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'touch probe' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'ball radius' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'overall assembly length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'stylus diameter' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'measured offset' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => expression_item_representation_item |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'wait for mark' } |
AIM element: | PATH |
---|---|
Reference path: | machining_nc_function <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'channel' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation |
AIM element: | machining_process_executable |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_executable <= action_method { action_method.description = 'while statement' } |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'condition' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => expression_item_representation_item expression_item_representation_item.item -> expression_element expression_element = expression expression => boolean_expression |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_process_body_relationship } action_method_relationship.related_method -> action_method => machining_process_executable |
AIM element: | machining_workingstep |
---|---|
Source: | 10303-238 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method |
AIM element: | elementary_surface |
---|---|
Source: | 10303-42 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'security plane' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => surface => elementary_surface |
AIM element: | PATH |
---|---|
Rules: | feature_optional_machining_property_process |
Reference path: | machining_workingstep <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_final_feature_relationship } action_method_relationship.related_method -> { action_method => machining_process_executable => machining_feature_process } action_method <- action.chosen_method { action.name = 'machining' } action => property_process <- process_property_association.process process_property_association process_property_association.property_or_shape -> property_or_shape_select property_or_shape_select = shape_definition shape_definition shape_definition = shape_aspect shape_aspect |
AIM element: | PATH |
---|---|
Reference path: | machining_workingstep <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_operation_relationship } action_method_relationship.related_method -> action_method => machining_operation |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'toolpath orientation' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method { action_method.description = 'workpiece complete probing' } |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method <- action.chosen_method { action.name = 'workpiece complete probing' } 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: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'probing distance' } 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: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'computed offset' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation => machining_offset_vector_representation |
AIM element: | machining_touch_probing |
---|---|
Source: | 10303-238 |
Reference path: | machining_touch_probing <= machining_operation <= action_method { action_method.description = 'workpiece probing' } |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'start position' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method <- action.chosen_method { action.name = 'workpiece probing' } 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: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_touch_probing <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'expected value' } 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: | PATH |
---|---|
Reference path: | machining_touch_probing <= machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | product_definition_relationship |
---|---|
Source: | 10303-41 |
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship |
AIM element: | PATH |
---|---|
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship product_definition_relationship.related_product_definition -> product_definition |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship characterized_product_definition = product_definition_relationship characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition property_definition => product_definition_shape <- context_dependent_shape_representation.represented_product_relation context_dependent_shape_representation context_dependent_shape_representation.representation_relation -> [ shape_representation_relationship ] [ representation_relationship_with_transformation ] representation_relationship_with_transformation.transformation_operator -> transformation transformation = item_defined_transformation item_defined_transformation item_defined_transformation.transform_item_2 -> representation_item => axis2_placement_3d See NOTE 5 |
AIM element: | PATH |
---|---|
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship characterized_product_definition = product_definition_relationship characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'computed offset' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation => machining_offset_vector_representation |
#1: if restricted_area is a block
#2: if restricted_area is a right_circular_cylinder
#3: if restricted_area is an advanced_brep_shape_representation
#4: if restricted_area is a bounded_surface
AIM element: | PATH |
---|---|
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship characterized_product_definition = product_definition_relationship characterized_product_definition characterized_definition = characterized_product_definition characterized_definition <- property_definition.definition { property_definition.name = 'restricted area' } property_definition represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation => shape_representation => #1: (shape_representation_with_parameters => block_shape_representation) #2: (shape_representation_with_parameters => cylindrical_shape_representation) #3: (advanced_brep_shape_representation) #4: ( geometrically_bounded_surface_shape_representation <= representation representation.items[i] -> representation_item => geometric_set geometric_set.elements[i] -> geometric_set_select geometric_set_select = surface surface => bounded_surface) |
AIM element: | PATH |
---|---|
Reference path: | machining_setup_workpiece_relationship <= product_definition_relationship characterized_product_definition = product_definition_relationship characterized_product_definition <- process_product_association.defined_product process_product_association process_product_association.process -> product_definition_process <= action { action.name = 'setup instructions' } action.chosen_method -> { action_method => machining_process_executable } { action_method.description = 'setup instructions' } action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => serial_action_method => sequential_method => machining_operator_instruction_relationship } action_method_relationship.related_method -> action_method => machining_operator_instruction See NOTE 6 |
AIM element: | machining_workplan |
---|---|
Source: | 10303-238 |
Reference path: | machining_workplan <= machining_process_executable <= action_method |
AIM element: | PATH |
---|---|
Reference path: | machining_workplan <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => [ machining_process_body_relationship => ] [ serial_action_method => sequential_method => ] machining_process_sequence_relationship } action_method_relationship.related_method -> action_method => machining_process_executable See NOTE 6 |
AIM element: | PATH |
---|---|
Reference path: | machining_workplan <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'channel' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation |
AIM element: | PATH |
---|---|
Reference path: | machining_workplan <= machining_process_executable <= action_method <- action.chosen_method { action.name = 'setup' } 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 product_definition.formation -> product_definition_formation |
AIM element: | PATH |
---|---|
Reference path: | machining_workplan <= machining_process_executable <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_execution_resource |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | machining_workplan <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'toolpath orientation' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | extended_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | extended_type_operation <= machining_operation <= action_method |
AIM element: | action_method.description |
---|---|
Source: | 10303-49 |
Reference path: | extended_type_operation <= machining_operation <= action_method action_method.description |
AIM element: | PATH |
---|---|
Reference path: | extended_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_functions_relationship } action_method_relationship.related_method -> action_method => machining_functions |
AIM element: | PATH |
---|---|
Reference path: | extended_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_technology_relationship } action_method_relationship.related_method -> action_method => machining_technology |
AIM element: | PATH |
---|---|
Reference path: | extended_type_operation <= machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | machining_functions |
---|---|
Source: | 10303-238 |
Reference path: | machining_functions <= action_method |
AIM element: | PATH |
---|---|
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'other functions' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item |
AIM element: | machining_operation |
---|---|
Source: | 10303-238 |
Reference path: | machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'retract plane' } 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: | cartesian_point |
---|---|
Source: | 10303-42 |
Reference path: | machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cut start point' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => point => cartesian_point |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_technology_relationship } action_method_relationship.related_method -> action_method => machining_technology |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_functions_relationship } action_method_relationship.related_method -> action_method => machining_functions |
AIM element: | machining_operation |
---|---|
Source: | 10303-238 |
Reference path: | machining_operation <= action_method |
AIM element: | action_method.name |
---|---|
Source: | 10303-49 |
Reference path: | machining_operation <= action_method action_method.name |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => serial_action_method => sequential_method => machining_toolpath_sequence_relationship } action_method_relationship.related_method -> action_method => machining_toolpath |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation => machining_tool_direction_representation |
AIM element: | PATH |
---|---|
Reference path: | machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition action_property => machining_process_property |
AIM element: | machining_technology |
---|---|
Source: | 10303-238 |
Reference path: | machining_technology <= action_method |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'feed speed' } representation.items[i] -> { representation_item.name = 'feed speed' } 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 tool center point (mapping may be omitted if value is tool center point)
#2: if value is cutter contact point
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feedrate reference' } 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 = 'tool center point') #2: (descriptive_representation_item.description = 'cutter contact point')} |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation {representation.name = 'three axes' } |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation |
AIM element: | NOT MAPPED See NOTE 7 |
---|
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation {representation.name = 'two axes' } |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'approach lift path angle' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'angle' } 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 => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'bend distance' } 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: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'approach lift path tangent' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'radius' } 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: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { (action_method.description = 'approach lift path angle') (action_method.description = 'approach lift path tangent') } |
AIM element: | cartesian_point |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'fix point' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => point => cartesian_point |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'fix point direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'axis trajectory' } |
AIM element: | representation_item.name |
---|---|
Source: | 10303-43 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axis commands' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> { representation_item => geometric_representation_item => curve => bounded_curve } representation_item representation_item.name |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axis commands' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'connect direct' } |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'connect security plane' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'up direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'down direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { (action_method.description = 'connect direct') (action_method.description = 'connect security plane') } |
AIM element: | [ bounded_curve] [ bounded_curve] |
---|---|
Source: | 10303-42 10303-42 |
Reference path: | [ bounded_curve <= representation_item <- representation.items[i] representation <- action_property_representation.representation action_property_representation action_property_representation.property -> action_property { action_property.name = 'basic curve' } ] [ bounded_curve <= representation_item <- representation.items[i] representation <- action_property_representation.representation action_property_representation action_property_representation.property -> action_property { action_property.name = 'surface normal' } ] |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | bounded_curve <= representation_item <- representation.items[i] representation <- action_property_representation.representation action_property_representation action_property_representation.property -> action_property { action_property.name = 'basic curve' } |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | bounded_curve <= representation_item <- representation.items[i] representation <- action_property_representation.representation action_property_representation action_property_representation.property -> action_property { action_property.name = 'surface normal' } |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'cutter contact trajectory' } |
#1: if the basiccurve is a bounded_pcurve
#2: if the basiccurve is a curve_with_normal_vector
AIM element: | #1: ( bounded_pcurve ) #2: ( [ bounded_curve] [ bounded_curve] ) |
---|---|
Source: | 10303-42 10303-42 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- #1: ( action_property.definition { action_property.name = 'basic curve' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => bounded_curve => bounded_pcurve ) #2: ( [ action_property.definition { action_property.name = 'basic curve' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => bounded_curve ] [ action_property.definition { action_property.name = 'surface normal' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => bounded_curve ] ) |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool axis' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool reference direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'contact type' } 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 = 'side' ) (descriptive_representation_item.description = 'front' ) } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'path maximum deviation' } 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: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool axis maximum deviation' } 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 => plane_angle_measure_with_unit |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'cutter location trajectory' } |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'basic curve' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool axis' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool reference direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'surface normal' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'path maximum deviation' } 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: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool axis maximum deviation' } 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 => plane_angle_measure_with_unit |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { action_method.description = 'feedstop' } |
AIM element: | time_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'dwell' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_dwell_time_representation } representation { representation.name = 'dwell time' } representation.items[i] -> { representation_item.name = 'dwell time' } representation_item => measure_representation_item <= measure_with_unit => time_measure_with_unit |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { (action_method.description = 'approach lift path angle') (action_method.description = 'approach lift path tangent') (action_method.description = 'connect direct') (action_method.description = 'connect security plane') } |
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method |
#1: if value is true
#2: if value is false (mapping may be omitted if value is false)
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'priority' } 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 = 'required' ) #2: (descriptive_representation_item.description = 'suggested' ) } |
#1: if value is approach
#2: if value is lift
#3: if value is connect
#4: if value is non-contact
#5: if value is contact
#6: if value is trajectory path (mapping may be omitted if value is trajectory path)
AIM element: | |
---|---|
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'trajectory type' } 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 = 'approach' ) #2: (descriptive_representation_item.description = 'lift' ) #3: (descriptive_representation_item.description = 'connect' ) #4: (descriptive_representation_item.description = 'non-contact' ) #5: (descriptive_representation_item.description = 'contact' ) #6: (descriptive_representation_item.description = 'trajectory path' ) } |
AIM element: | (descriptive_representation_item) (ratio_measure_with_unit) (bounded_curve) |
---|---|
Source: | 10303-45 10303-41 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'speed profile' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_toolpath_speed_profile_representation } representation representation.items[i] -> ( representation_item => descriptive_representation_item descriptive_representation_item.description { descriptive_representation_item.description = 'rapid' } ) ( representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit ) ( representation_item => geometric_representation_item => curve => bounded_curve ) |
AIM element: | PATH |
---|---|
Reference path: | machining_toolpath <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_technology_relationship } action_method_relationship.related_method -> action_method => machining_technology |
AIM element: | PATH |
---|---|
Reference path: | machining_toolpath <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_functions_relationship } action_method_relationship.related_method -> action_method => machining_functions |
AIM element: | action_method.name |
---|---|
Source: | 10303-49 |
Reference path: | machining_toolpath <= action_method action_method.name |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | bounded_curve { bounded_curve <- representation.items[i] representation => machining_toolpath_speed_profile_representation } |
AIM element: | IDENTICAL MAPPING |
---|
AIM element: | machining_toolpath |
---|---|
Source: | 10303-238 |
Reference path: | machining_toolpath <= action_method { (action_method.description = 'axis trajectory') (action_method.description = 'cutter contact trajectory') (action_method.description = 'cutter location trajectory') } |
#1: if value is true (mapping may be omitted if value is true)
#2: if value is false
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'direction' } 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 = 'beginning to end' ) #2: (descriptive_representation_item.description = 'end to beginning' ) } |
#1: if the depth value is described as a constant length
#2: if the depth value is described as a curve specifying a length at each point along the toolpath.
AIM element: | (length_measure_with_unit) (bounded_curve) |
---|---|
Source: | 10303-41 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'material removal depth' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> #1: (representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit) #2: ( representation_item => geometric_representation_item => curve => bounded_curve ) |
#1: if the overcut value is described as a constant length
#2: if the overcut value is described as a curve specifying a length at each point along the toolpath.
AIM element: | (length_measure_with_unit) (bounded_curve) |
---|---|
Source: | 10303-41 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'material removal overcut' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> #1: (representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit) #2: ( representation_item => geometric_representation_item => curve => bounded_curve ) |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'material removal total volume' } 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: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | machining_toolpath <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cross section area parameters' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | machining_technology |
---|---|
Source: | 10303-238 |
Reference path: | machining_technology <= action_method { action_method.description = 'adaptive control' } |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { (action_method.description = 'approach retract angle') (action_method.description = 'approach retract tangent') } |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'along path' } |
AIM element: | PATH |
---|---|
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_toolpath_sequence_relationship } action_method_relationship.related_method -> action_method => machining_toolpath |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'approach retract angle' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'travel angle' } 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 => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'travel length' } 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: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'approach retract tangent' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'travel radius' } 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: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tool orientation' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | back_boring_operation |
---|---|
Source: | 10303-238 |
Reference path: | back_boring_operation <= drilling_type_operation <= machining_operation <= action_method |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'bidirectional' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } 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 = 'left' ) (descriptive_representation_item.description = 'right' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'connection strategy' } 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 = 'straight line' ) (descriptive_representation_item.description = 'lift shift plunge' ) (descriptive_representation_item.description = 'degouge' ) (descriptive_representation_item.description = 'loop back' ) } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'bidirectional contour' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } 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 = 'left' ) (descriptive_representation_item.description = 'right' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'rotation direction' } 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 = 'clockwise' ) (descriptive_representation_item.description = 'counterclockwise' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spiral cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | boring_operation |
---|---|
Source: | 10303-238 |
Reference path: | boring_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'boring' } |
AIM element: | boring_operation |
---|---|
Source: | 10303-238 |
Reference path: | boring_operation <= drilling_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: | boring_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spindle stop' } 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 = 'spindle stop at bottom' ) #2: (descriptive_representation_item.description = 'spindle nonstop' ) } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | boring_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'testcut 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: | cartesian_point |
---|---|
Source: | 10303-42 |
Reference path: | boring_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'waiting position' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => point => cartesian_point |
AIM element: | bottom_and_side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | bottom_and_side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axial cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'radial cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance side' } 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance bottom' } 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: | bottom_and_side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | bottom_and_side_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | drilling_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'center drilling' } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'center milling' } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'contour bidirectional' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } 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 = 'left' ) (descriptive_representation_item.description = 'right' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'rotation direction' } 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 = 'clockwise' ) (descriptive_representation_item.description = 'counterclockwise' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spiral cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'contour parallel' } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'rotation direction' } 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 = 'clockwise' ) (descriptive_representation_item.description = 'counterclockwise' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'contour spiral' } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'rotation direction' } 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 = 'clockwise' ) (descriptive_representation_item.description = 'counterclockwise' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | drilling_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'counter sinking' } |
AIM element: | drilling_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'drilling' } |
AIM element: | drilling_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method |
AIM element: | drilling_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'previous diameter' } 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: | time_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'dwell time bottom' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_dwell_time_representation } representation { representation.name = 'dwell time' } representation.items[i] -> { representation_item.name = 'dwell time' } representation_item => measure_representation_item <= measure_with_unit => time_measure_with_unit |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feedrate on retract' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | drilling_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'machining' } action_method_relationship.related_method -> action_method => machining_strategy => drilling_type_strategy |
AIM element: | drilling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'reduced cut at start' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_spindle_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'reduced feedrate at start' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'depth of start' } 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: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'reduced cut at end' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_spindle_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'reduced feedrate at end' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'depth of end' } 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: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'exchange pallet' } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'explicit' } |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation {representation.name = 'five axes const tilt yaw' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool_direction_representation <= representation representation.items[i] -> { representation_item.name = 'tool direction tilt angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool_direction_representation <= representation representation.items[i] -> { representation_item.name = 'tool direction yaw angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation {representation.name = 'five axes var tilt yaw' } |
AIM element: | freeform_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | freeform_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_operation <= milling_type_operation <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | freeform_milling_operation <= milling_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'machining' } action_method_relationship.related_method -> action_method => machining_strategy => milling_type_strategy => freeform_milling_strategy |
AIM element: | freeform_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | freeform_milling_strategy |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'pathmode' } 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 = 'forward' ) (descriptive_representation_item.description = 'zigzag' ) } |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | PATH |
---|---|
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'milling tolerances' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation => freeform_milling_tolerance_representation |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover length' } 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: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'index pallet' } |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'pallet index' } 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 = count_measure count_measure |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'index table' } |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'table index' } 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 = count_measure count_measure |
AIM element: | freeform_milling_strategy |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'leading line' } |
AIM element: | bounded_curve |
---|---|
Source: | 10303-42 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'leading line' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => curve => bounded_curve |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'load tool' } |
AIM element: | PATH |
---|---|
Reference path: | machining_nc_function <= machining_process_executable <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | value_range |
---|---|
Source: | 10303-238 |
Reference path: | value_range <= compound_representation_item <= representation_item { representation_item <- representation.items[i] representation <- action_property_representation.representation action_property_representation action_property_representation.property -> action_property action_property.name = 'axis constraint' } |
AIM element: | representation_item.name |
---|---|
Source: | 10303-41 |
Reference path: | value_range <= compound_representation_item <= representation_item representation_item.name |
AIM element: | PATH |
---|---|
Reference path: | IDENTICAL MAPPING |
AIM element: | machining_functions |
---|---|
Source: | 10303-238 |
Reference path: | machining_functions <= action_method { action_method.description = 'milling' } |
#1: if value is true
#2: if value is false
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'coolant' } 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 = 'coolant on' ) #2: (descriptive_representation_item.description = 'coolant off' ) } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'coolant pressure' } 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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'mist' } 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 = 'mist on' ) #2: (descriptive_representation_item.description = 'mist off' ) } |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'through spindle coolant' } 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 = 'through spindle coolant on' ) #2: (descriptive_representation_item.description = 'through spindle coolant off' ) } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'through spindle pressure' } 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 } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axis clamping' } 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 |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'chip removal' } 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 = 'chip removal on' ) #2: (descriptive_representation_item.description = 'chip removal off' ) } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'oriented spindle stop' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | PATH |
---|---|
Reference path: | machining_functions <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => serial_action_method => sequential_method => machining_process_model_relationship } action_method_relationship.related_method -> action_method => machining_process_model |
Reference path: | value_range |
---|---|
Source: | 10303-238 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axis constraint' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => compound_representation_item => value_range |
AIM element: | machining_operation |
---|---|
Source: | 10303-238 |
Reference path: | machining_operation <= { machining_operation => (milling_type_operation) (drilling_type_operation) } action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'overcut length' } 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: | machining_technology |
---|---|
Source: | 10303-238 |
Reference path: | machining_technology <= action_method { action_method.description = 'milling' } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spindle' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_spindle_speed_representation } representation { representation.name = 'cutting speed' } representation.items[i] -> { representation_item.name = 'surface speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spindle' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_spindle_speed_representation } representation { representation.name = 'spindle speed' } representation.items[i] -> { representation_item.name = 'rotational speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'feed per tooth' } representation.items[i] -> { representation_item.name = 'feed per tooth' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'synchronize spindle with feed' } 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 = 'synchronized' ) #2: (descriptive_representation_item.description = 'not synchronized' ) } |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'inhibit feedrate override' } 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 = 'override not allowed' ) #2: (descriptive_representation_item.description = 'override allowed' ) } |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'inhibit spindle override' } 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 = 'override not allowed' ) #2: (descriptive_representation_item.description = 'override allowed' ) } |
AIM element: | PATH |
---|---|
Reference path: | machining_technology <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_adaptive_control_relationship } action_method_relationship.related_method -> action_method => machining_technology |
Reference path: | milling_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_operation <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | milling_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'approach' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | PATH |
---|---|
Reference path: | milling_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'retract' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | drilling_operation |
---|---|
Source: | 10303-238 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'multistep drilling' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'retract distance' } 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'first 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'depth of step' } 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: | time_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | drilling_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'dwell time step' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_dwell_time_representation } representation { representation.name = 'dwell time' } representation.items[i] -> { representation_item.name = 'dwell time' } representation_item => measure_representation_item <= measure_with_unit => time_measure_with_unit |
AIM element: | freeform_milling_strategy |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'plane cutter contact' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plane normal' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | freeform_milling_strategy |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'plane cutter location' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plane normal' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | plane_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | plane_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | plane_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | plane_milling_operation <= milling_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | plane_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axial cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | plane_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance bottom' } 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: | plane_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | plane_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'plunge helix' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plunge radius' } 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: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plunge angle' } 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 => plane_angle_measure_with_unit |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'plunge ramp' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plunge angle' } 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 => plane_angle_measure_with_unit |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { (action_method.description = 'plunge helix') (action_method.description = 'plunge ramp') (action_method.description = 'plunge toolaxis') (action_method.description = 'plunge zigzag') } |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'plunge toolaxis' } |
AIM element: | machining_approach_retract_strategy |
---|---|
Source: | 10303-238 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method { action_method.description = 'plunge zigzag' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plunge angle' } 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 => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_approach_retract_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'plunge width' } 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: | machining_process_model |
---|---|
Source: | 10303-238 |
Reference path: | machining_process_model <= action_method |
AIM element: | descriptive_representation_item |
---|---|
Source: | 10303-45 |
Reference path: | machining_process_model <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'initialization data' } 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: | action_method.description |
---|---|
Source: | 10303-49 |
Reference path: | machining_process_model <= action_method action_method.description |
AIM element: | NOT MAPPED See NOTE 9 |
---|
AIM element: | boring_operation |
---|---|
Source: | 10303-238 |
Reference path: | boring_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'reaming' } |
AIM element: | side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axial cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'radial cutting 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: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance side' } 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: | side_milling_operation |
---|---|
Source: | 10303-238 |
Reference path: | side_milling_operation <= milling_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | tapping_operation |
---|---|
Source: | 10303-238 |
Reference path: | tapping_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'tapping' } |
#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: | tapping_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'compensation chuck' } 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 = 'compensation chuck used' ) #2: (descriptive_representation_item.description = 'compensation chuck not used' ) } |
AIM element: | tapping_operation |
---|---|
Source: | 10303-238 |
Reference path: | tapping_operation <= drilling_type_operation <= machining_operation <= action_method { action_method.description = 'thread drilling' } |
#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: | tapping_operation <= drilling_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'helical movement on forward' } 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 = 'helical movement on forward' ) #2: (descriptive_representation_item.description = 'no helical movement on forward' ) } |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation {representation.name = 'three axes tilted tool' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_tool_direction_representation <= representation representation.items[i] -> { representation_item.name = 'tool direction orientation' } representation_item => geometric_representation_item => direction |
AIM element: | freeform_milling_tolerance_representation |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_tolerance_representation <= representation |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | freeform_milling_tolerance_representation <= representation representation.items[i] -> { representation_item.name = 'chordal tolerance' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | freeform_milling_tolerance_representation <= representation representation.items[i] -> { representation_item.name = 'scallop height' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool_direction_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool_direction_representation <= representation |
AIM element: | milling_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_operation <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | milling_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'machining' } action_method_relationship.related_method -> action_method => machining_strategy => milling_type_strategy |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { (action_method.description = 'bidirectional') (action_method.description = 'bidirectional contour') (action_method.description = 'center milling') (action_method.description = 'contour bidirectional') (action_method.description = 'contour parallel') (action_method.description = 'contour spiral') (action_method.description = 'explicit') (action_method.description = 'unidirectional') } |
Reference path: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'overlap ratio' } 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 => ratio_measure_with_unit |
#1: if value is true (mapping may be omitted if value is true)
#2: if value is false
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'multiple passes' } 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 = 'multiple passes allowed' ) #2: (descriptive_representation_item.description = 'multiple passes not allowed' ) } |
AIM element: | milling_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'unidirectional' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutmode' } 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 = 'climb' ) (descriptive_representation_item.description = 'conventional' ) } |
AIM element: | machining_nc_function |
---|---|
Source: | 10303-238 |
Reference path: | machining_nc_function <= machining_process_executable <= action_method { action_method.description = 'unload tool' } |
AIM element: | PATH |
---|---|
Reference path: | machining_nc_function <= machining_process_executable <= action_method supported_item = action_method supported_item <- action_resource.usage[i] action_resource => machining_tool |
AIM element: | freeform_milling_strategy |
---|---|
Source: | 10303-238 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method { action_method.description = 'uv' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'forward direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | freeform_milling_strategy <= milling_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'sideward direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'ballnose endmill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'bullnose endmill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'combined drill and reamer' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'drill length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'combined drill and tap' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'drill length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'counterbore' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'countersink' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'minimum cutting diameter' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'maximum usable length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_cutting_component |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_component <= [action_resource] [characterized_object] { action_resource.kind -> action_resource_type action_resource_type.name = 'milling cutting edge' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'functional length' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_component <= characterized_object characterized_definition = characterized_object characterized_definition <- material_designation.definitions[i] material_designation |
AIM element: | time_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'expected life' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => time_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_component <= action_resource <- requirement_for_action_resource.resources[i] requirement_for_action_resource <= action_resource_requirement { action_resource_requirement.kind -> resource_requirement_type resource_requirement_type.name = 'cutting component' } action_resource_requirement.operations[i] -> characterized_action_definition characterized_action_definition = action_method action_method => machining_technology |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'dovetail mill' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'included angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'drill') (action_resource.description = 'counterbore') (action_resource.description = 'countersink') (action_resource.description = 'spade drill') (action_resource.description = 'spot drill') (action_resource.description = 'step drill') (action_resource.description = 'tapered drill') (action_resource.description = 'twist drill') } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'point angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'endmill') (action_resource.description = 'ballnose endmill') (action_resource.description = 'bullnose endmill') (action_resource.description = 'profiled endmill') } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'tool cutting edge angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'facemill' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'tool cutting edge angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'ballnose endmill') (action_resource.description = 'bullnose endmill') (action_resource.description = 'dovetail mill') (action_resource.description = 'endmill') (action_resource.description = 'facemill') (action_resource.description = 'profiled endmill') (action_resource.description = 'shoulder mill') (action_resource.description = 'tee slot mill') (action_resource.description = 'thread mill') (action_resource.description = 'side mill') } |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'number of effective teeth' } representation_item => measure_representation_item <= measure_with_unit => measure_with_unit.value_component -> measure_value measure_value = count_measure count_measure |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'edge radius' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.kind -> action_resource_type action_resource_type.name = 'milling cutting tool' } |
AIM element: | PATH |
---|---|
Reference path: | machining_tool <= action_resource <- action_resource_relationship.relating_resource action_resource_relationship action_resource_relationship.related_resource -> action_resource => machining_cutting_component |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'overall assembly length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'effective cutting diameter' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'maximum depth of cut' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'hand of cut' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'left' ) (descriptive_representation_item.description = 'right' ) (descriptive_representation_item.description = 'neutral' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'coolant through tool' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'supported' ) (descriptive_representation_item.description = 'not supported' ) } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'profiled endmill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'reamer') (action_resource.description = 'combined drill and reamer') (action_resource.description = 'tapered reamer') } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'taper length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'boring tool' } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'retract movement' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'permitted' ) (descriptive_representation_item.description = 'forbidden' ) } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'shoulder mill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'side mill' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutter width' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'spade drill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'spot drill' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'step drill' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'step diameters' } 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 => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'step lengths' } 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 => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'tee slot mill' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutting width' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'tapered drill' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'taper angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'tapered reamer' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'taper angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'tapping tool') (action_resource.description = 'combined drill and tap') } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread form type' } representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread size' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread pitch' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'taper thread count' } representation_item => measure_representation_item <= measure_with_unit measure_with_unit.value_component -> measure_value measure_value = count_measure count_measure |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'thread mill' } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread form type' } representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread size' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread pitch' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { (action_resource.description = 'twist drill') (action_resource.description = 'tapered drill') } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'user defined milling tool' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'corner radius' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'corner radius center horizontal' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'corner radius center vertical' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'tool description' } representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'taper angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'tip outer angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'bidirectional' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
Reference path: | machining_feed_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'feed speed') (representation.name = 'feed per revolution') } representation => machining_feed_speed_representation |
AIM element: | machining_spindle_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_spindle_speed_representation <= representation {representation.name = 'cutting speed' } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_spindle_speed_representation <= representation representation.items[i] -> { representation_item.name = 'surface speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_spindle_speed_representation <= representation representation.items[i] -> { representation_item.name = 'maximum rotational speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | machining_spindle_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_spindle_speed_representation <= representation {representation.name = 'spindle speed' } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_spindle_speed_representation <= representation representation.items[i] -> { representation_item.name = 'rotational speed' } representation_item => measure_representation_item <= measure_with_unit { measure_with_unit.value_component -> measure_value measure_value = numeric_measure numeric_measure } |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'contour' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'back path direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift height' } 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 |
Reference path: | machining_feed_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'feed speed') (representation.name = 'feed per revolution') } representation => machining_feed_speed_representation |
Reference path: | machining_feed_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'feed speed') (representation.name = 'feed per revolution') } representation => machining_feed_speed_representation |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'variable stepover feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | contouring_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | contouring_turning_operation <= turning_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | contouring_turning_operation <= turning_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance' } 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: | contouring_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | contouring_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | contouring_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | contouring_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | grooving_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'cutting in' } |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'explicit' } |
AIM element: | facing_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | facing_turning_operation <= turning_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | facing_turning_operation <= turning_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance' } 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: | facing_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | facing_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | facing_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | facing_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | grooving_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method |
Reference path: | machining_dwell_time_representation |
---|---|
Source: | 10303-238 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'dwell' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'dwell time') (representation.name = 'dwell revolution') } representation => machining_dwell_time_representation |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance' } 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: | grooving_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | grooving_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | grooving_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { ( action_method.description = 'grooving') (action_method.description = 'multistep grooving') } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'grooving direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'travel distance' } 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: | knurling_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | knurling_turning_operation <= turning_type_operation <= machining_operation <= action_method |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'multistep grooving' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'retract distance' } 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: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'thread' } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cut in amount' } 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 = 'constant depth' ) (descriptive_representation_item.description = 'variable depth' ) (descriptive_representation_item.description = 'constant removal amount' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'threading direction' } 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 = 'left' ) (descriptive_representation_item.description = 'right' ) (descriptive_representation_item.description = 'center' ) (descriptive_representation_item.description = 'left zigzag' ) (descriptive_representation_item.description = 'right zigzag' ) } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'path return angle' } 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 => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift height' } 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: | threading_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | threading_turning_operation <= turning_type_operation <= machining_operation <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | threading_turning_operation <= turning_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'allowance' } 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: | threading_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | threading_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'finishing' } |
AIM element: | threading_turning_operation |
---|---|
Source: | 10303-238 |
Reference path: | threading_turning_operation <= turning_type_operation <= machining_operation <= action_method { action_method.description = 'roughing' } |
AIM element: | machining_functions |
---|---|
Source: | 10303-238 |
Reference path: | machining_functions <= action_method { action_method.description = 'turning' } |
#1: if value is true
#2: if value is false
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'coolant' } 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 = 'coolant on' ) #2: (descriptive_representation_item.description = 'coolant off' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'coolant type' } 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 = 'flood' ) (descriptive_representation_item.description = 'mist' ) (descriptive_representation_item.description = 'through tool' ) } |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'coolant pressure' } 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 |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'axis clamping' } 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 |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'chip removal' } 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 = 'chip removal on' ) #2: (descriptive_representation_item.description = 'chip removal off' ) } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'oriented spindle stop' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | PATH |
---|---|
Reference path: | machining_functions <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => serial_action_method => sequential_method => machining_process_model_relationship } action_method_relationship.related_method -> action_method => machining_process_model |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'tail stock' } 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 = 'tail stock used' ) #2: (descriptive_representation_item.description = 'tail stock not used' ) } |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'steady rest' } 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 = 'steady rest used' ) #2: (descriptive_representation_item.description = 'steady rest not used' ) } |
#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: | machining_functions <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'follow rest' } 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 = 'follow rest used' ) #2: (descriptive_representation_item.description = 'follow rest not used' ) } |
AIM element: | turning_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_operation <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | turning_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'approach' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | PATH |
---|---|
Reference path: | turning_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'retract' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | PATH |
---|---|
Reference path: | turning_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'machining' } action_method_relationship.related_method -> action_method => machining_strategy => turning_type_strategy |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'overcut length' } 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 |
#1: if value is true (mapping may be omitted if value is true)
#2: if value is false
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'multiple passes' } 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 = 'multiple passes allowed' ) #2: (descriptive_representation_item.description = 'multiple passes not allowed' ) } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'cutting depth' } 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 => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'variable feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'relative speed' } representation.items[i] -> { representation_item.name = 'relative speed' } representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | machining_technology |
---|---|
Source: | 10303-238 |
Reference path: | machining_technology <= action_method { action_method.description = 'turning' } |
AIM element: | PATH |
---|---|
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'spindle' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'spindle speed') (representation.name = 'cutting speed') } representation => machining_spindle_speed_representation |
AIM element: | measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { representation => machining_feed_speed_representation } representation { representation.name = 'feed per revolution' } representation.items[i] -> { representation_item.name = 'feed per revolution' } representation_item => measure_representation_item <= measure_with_unit |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'synchronize spindle with z feed' } 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 = 'synchronized' ) #2: (descriptive_representation_item.description = 'not synchronized' ) } |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'inhibit feedrate override' } 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 = 'override not allowed' ) #2: (descriptive_representation_item.description = 'override allowed' ) } |
#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: | machining_technology <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'inhibit spindle override' } 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 = 'override not allowed' ) #2: (descriptive_representation_item.description = 'override allowed' ) } |
AIM element: | PATH |
---|---|
Reference path: | machining_technology <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_adaptive_control_relationship } action_method_relationship.related_method -> action_method => machining_technology |
AIM element: | machining_workingstep |
---|---|
Source: | 10303-238 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method { action_method.description = 'turning' } |
AIM element: | PATH |
---|---|
Reference path: | machining_workingstep <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_feature_relationship => machining_feature_sequence_relationship } action_method_relationship.related_method -> { action_method => machining_process_executable => machining_feature_process } action_method <- action.chosen_method { action.name = 'machining' } action => property_process <- process_property_association.process process_property_association process_property_association.property_or_shape -> property_or_shape_select property_or_shape_select = shape_definition shape_definition shape_definition = shape_aspect shape_aspect See NOTE 6 |
AIM element: | turning_type_strategy |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method { action_method.description = 'unidirectional' } |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'feed direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'back path direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift height' } 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 |
Reference path: | machining_feed_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'lift feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'feed speed') (representation.name = 'feed per revolution') } representation => machining_feed_speed_representation |
Reference path: | machining_feed_speed_representation |
---|---|
Source: | 10303-238 |
Reference path: | turning_type_strategy <= machining_strategy <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'stepover feedrate' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> { (representation.name = 'feed speed') (representation.name = 'feed per revolution') } representation => machining_feed_speed_representation |
AIM element: | machining_cutting_corner_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_corner_representation <= representation { representation.name = 'chamfered corner' } |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_corner_representation <= representation representation.items[i] -> { representation_item.name = 'chamfer angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_corner_representation <= representation representation.items[i] -> { representation_item.name = 'chamfer length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_corner_representation <= representation representation.items[i] -> { representation_item.name = 'chamfer width' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_cutting_corner_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_corner_representation <= representation |
AIM element: | count_measure |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_corner_representation <= representation representation.items[i] -> { representation_item.name = 'corner identity' } representation_item => measure_representation_item <= measure_with_unit => measure_with_unit.value_component -> measure_value measure_value = count_measure count_measure |
AIM element: | IDENTICAL MAPPING |
---|
AIM element: | machining_cutting_component |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_component <= [action_resource] [characterized_object] { action_resource.kind -> action_resource_type action_resource_type.name = 'turning cutting edge' } |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_component <= characterized_object characterized_definition = characterized_object characterized_definition <- material_designation.definitions[i] material_designation |
AIM element: | time_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'expected life' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => time_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_component <= action_resource <- requirement_for_action_resource.resources[i] requirement_for_action_resource <= action_resource_requirement { action_resource_requirement.kind -> resource_requirement_type resource_requirement_type.name = 'cutting component' } action_resource_requirement.operations[i] -> characterized_action_definition characterized_action_definition = action_method action_method => machining_technology |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'cutting edge length' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'cutting edge angle' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'corner transitions' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation => machining_cutting_corner_representation See NOTE 10 |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool included angle' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'maximum side cutting depth' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_component <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'maximum end cutting depth' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> representation representation.items[i] -> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'general turning tool' } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'grooving tool' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutting width' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'maximum grooving depth' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'corner radius' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> {representation_item.name = 'maximum axial grooving diameter'} representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> {representation_item.name = 'minimum axial grooving diameter'} representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'knurling tool' } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'knurl pattern' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'straight' ) (descriptive_representation_item.description = 'diagonal' ) (descriptive_representation_item.description = 'diamond' ) } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutting length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | plane_angle_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutting angle' } representation_item => measure_representation_item <= measure_with_unit => plane_angle_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'cutting pitch' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_cutting_corner_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_corner_representation <= representation { representation.name = 'profiled corner' } |
AIM element: | PATH |
---|---|
Reference path: | machining_cutting_corner_representation <= representation <- property_definition_representation.used_representation property_definition_representation property_definition_representation.definition -> represented_definition represented_definition = shape_aspect shape_aspect (linear_profile) (open_path_profile) (partial_circular_profile) (rounded_u_profile) (square_u_profile) (tee_profile) (vee_profile) |
AIM element: | machining_cutting_corner_representation |
---|---|
Source: | 10303-238 |
Reference path: | machining_cutting_corner_representation <= representation { representation.name = 'rounded corner' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_cutting_corner_representation <= representation representation.items[i] -> { representation_item.name = 'radius' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.kind -> action_resource_type action_resource_type.name = 'turning cutting tool' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'functional length' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'f dimension' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'minimum cutting diameter' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'a dimension on f' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'a dimension on lf' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | machining_tool <= action_resource <- action_resource_relationship.relating_resource action_resource_relationship action_resource_relationship.related_resource -> action_resource => machining_cutting_component |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'hand of cut' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'left' ) (descriptive_representation_item.description = 'right' ) (descriptive_representation_item.description = 'neutral' ) } |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'turning threading tool' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread pitch' } representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread hand' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'left' ) (descriptive_representation_item.description = 'right' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread type' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'internal' ) (descriptive_representation_item.description = 'external' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread profile' } representation_item => descriptive_representation_item descriptive_representation_item.description { (descriptive_representation_item.description = 'full' ) (descriptive_representation_item.description = 'partial' ) } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'thread form type' } representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | machining_tool |
---|---|
Source: | 10303-238 |
Reference path: | machining_tool <= action_resource { action_resource.description = 'user defined turning tool' } |
Reference path: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | machining_tool <= action_resource characterized_resource_definition = action_resource characterized_resource_definition <- resource_property.resource { resource_property.name = 'tool body' } resource_property <- resource_property_representation.property resource_property_representation resource_property_representation.representation -> { representation => machining_tool_body_representation } representation representation.items[i] -> { representation_item.name = 'tool identifier' } representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | [ additive_manufacturing_feature ] [ compound_feature ] |
---|---|
Source: | 10303-238 |
Reference path: | [ additive_manufacturing_feature <= ] [ compound_feature <= ] feature_definition <= characterized_object |
AIM element: | PATH |
---|---|
Reference path: | [ additive_manufacturing_feature <= ] [ compound_feature <= ] feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect => composite_shape_aspect} shape_aspect <- shape_aspect_relationship.relating_shape_aspect {shape_aspect_relationship=> feature_component_relationship} shape_aspect_relationship.related_shape_aspect-> shape_aspect => instanced_feature <= feature_definition => additive_manufacturing_feature |
AIM element: | additive_manufacturing_construction |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_construction <= shape_aspect { shape_aspect.of_shape-> product_definition_shape <= property_definition property_definition.definition-> characterized_definition characterized_definition = characterized_object characterized_object => feature_component_definition } |
AIM element: | additive_manufacturing_feature |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_feature <= {feature_definition => instanced_feature} feature_definition <= characterized_object |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition => characterized_object characterized_definition = characterized_object characterized_definition <- material_designation.definitions[i] material_designation |
AIM element: | colour |
---|---|
Source: | 10303-46 |
Reference path: | additive_manufacturing_feature <= feature_definition => characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition {property_definition.name = 'primary colour'} represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> representation_item => styled_item styled_item.styles[i] -> presentation_style_assignment presentation_style_assignment.styles[i] -> presentation_style_select presentation_style_select = fill_area_style fill_area_style fill_area_style.fill_styles[i] -> fill_style_select fill_style_select = fill_area_style_colour fill_area_style_colour fill_area_style_colour.fill_colour -> colour |
AIM element: | additive_manufacturing_feature |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_object.description = 'gradient' |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect => composite_shape_aspect} shape_aspect <- shape_aspect_relationship.relating_shape_aspect {shape_aspect_relationship=> feature_component_relationship} shape_aspect_relationship.related_shape_aspect-> shape_aspect => instanced_feature <= feature_definition => additive_manufacturing_feature |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect.description = 'construction occurrence'} shape_aspect <- shape_aspect_relationship.related_shape_aspect {shape_aspect_relationship => feature_component_relationship} {shape_aspect_relationship.description = 'construction usage'} shape_aspect_relationship shape_aspect_relationship.relating_shape_aspect -> shape_aspect => additive_manufacturing_construction |
AIM element: | additive_manufacturing_atom |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_atom <= shape_aspect { shape_aspect.of_shape-> product_definition_shape <= property_definition property_definition.definition-> characterized_definition characterized_definition = characterized_object characterized_object => feature_component_definition } |
AIM element: | axis2_placement_3d |
---|---|
Source: | 10303-42 |
Reference path: | additive_manufacturing_atom <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'origin'} representation_item => geometric_representation_item => placement => axis2_placement_3d |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_atom <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- material_designation.definitions[i] material_designation |
AIM element: | colour |
---|---|
Source: | 10303-46 |
Reference path: | additive_manufacturing_atom <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'colour'} representation_item => styled_item styled_item.styles[i] -> presentation_style_assignment presentation_style_assignment.styles[i] -> presentation_style_select presentation_style_select = fill_area_style fill_area_style fill_area_style.fill_styles[i] -> fill_style_select fill_style_select = fill_area_style_colour fill_area_style_colour fill_area_style_colour.fill_colour -> colour |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_atom <= shape_aspect <- shape_aspect_relationship.related_shape_aspect {shape_aspect_relationship => feature_component_relationship} {shape_aspect_relationship.description = 'construction usage'} shape_aspect_relationship shape_aspect_relationship.relating_shape_aspect -> shape_aspect => additive_manufacturing_construction |
AIM element: | function_application |
---|---|
Source: | 13584-20 |
Reference path: | additive_manufacturing_construction <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> representation_item => {representation_item.name = 'governing function'} expression_representation_item <= generic_expression => multiple_arity_generic_expression => function_application |
AIM element: | additive_manufacturing_feature |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_object.description = 'heterogenuous' |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect.description = 'atom occurrence'} shape_aspect <- shape_aspect_relationship.related_shape_aspect {shape_aspect_relationship => feature_component_relationship} {shape_aspect_relationship.description = 'atom usage'} shape_aspect_relationship shape_aspect_relationship.relating_shape_aspect -> shape_aspect => additive_manufacturing_atom |
AIM element: | additive_manufacturing_construction |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_construction <= shape_aspect { shape_aspect.description = 'infill' } |
AIM element: | ratio_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | additive_manufacturing_construction <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'infill ratio'} representation_item => measure_representation_item <= measure_with_unit => ratio_measure_with_unit |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | additive_manufacturing_construction <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'direction'} representation_item => geometric_representation_item => direction |
AIM element: | descriptive_representation_item.description |
---|---|
Source: | 10303-45 |
Reference path: | additive_manufacturing_construction <= shape_aspect shape_definition = shape_aspect shape_definition characterized_definition = shape_definition characterized_definition <- property_definition.definition property_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i] -> {representation_item.name = 'pattern'} representation_item => descriptive_representation_item descriptive_representation_item.description |
AIM element: | machining_functions |
---|---|
Source: | 10303-238 |
Reference path: | machining_functions <= action_method { action_method.description = 'additive' } |
AIM element: | additive_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | additive_type_operation <= machining_operation <= action_method { action_method.description = 'oned' } |
AIM element: | PATH |
---|---|
Reference path: | additive_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'approach' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | PATH |
---|---|
Reference path: | additive_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_strategy_relationship } { action_method_relationship.name = 'retract' } action_method_relationship.related_method -> action_method => machining_strategy => machining_approach_retract_strategy |
AIM element: | additive_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | additive_type_operation <= machining_operation <= action_method |
AIM element: | PATH |
---|---|
Reference path: | additive_type_operation <= machining_operation <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_functions_relationship } action_method_relationship.related_method -> action_method => machining_functions |
AIM element: | additive_manufacturing_feature |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_object.description = 'simple' |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | additive_manufacturing_feature <= feature_definition => characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition {property_definition.name = 'skin thickness'} represented_definition = property_definition represented_definition <- property_definition_representation.definition property_definition_representation property_definition_representation.used_representation -> representation representation.items[i]-> representation_item => measure_representation_item <= measure_with_unit => length_measure_with_unit |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect.description = 'skin construction occurrence'} shape_aspect <- shape_aspect_relationship.related_shape_aspect {shape_aspect_relationship => feature_component_relationship} {shape_aspect_relationship.description = 'skin construction usage'} shape_aspect_relationship shape_aspect_relationship.relating_shape_aspect -> shape_aspect => additive_manufacturing_construction |
AIM element: | PATH |
---|---|
Reference path: | additive_manufacturing_feature <= feature_definition <= characterized_object characterized_definition = characterized_object characterized_definition <- property_definition.definition property_definition => product_definition_shape <- shape_aspect.of_shape {shape_aspect.description = 'core construction occurrence'} shape_aspect <- shape_aspect_relationship.related_shape_aspect {shape_aspect_relationship => feature_component_relationship} {shape_aspect_relationship.description = 'core construction usage'} shape_aspect_relationship shape_aspect_relationship.relating_shape_aspect -> shape_aspect => additive_manufacturing_construction |
AIM element: | additive_manufacturing_construction |
---|---|
Source: | 10303-238 |
Reference path: | additive_manufacturing_construction <= shape_aspect { shape_aspect.description = 'solid' } |
AIM element: | additive_type_operation |
---|---|
Source: | 10303-238 |
Reference path: | additive_type_operation <= machining_operation <= action_method { action_method.description = 'twod' } |
AIM element: | length_measure_with_unit |
---|---|
Source: | 10303-41 |
Reference path: | additive_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'layer thickness' } 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: | elementary_surface |
---|---|
Source: | 10303-42 |
Reference path: | additive_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'base_layer' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => surface => elementary_surface |
AIM element: | direction |
---|---|
Source: | 10303-42 |
Reference path: | additive_type_operation <= machining_operation <= action_method characterized_action_definition = action_method characterized_action_definition <- action_property.definition { action_property.name = 'normal direction' } action_property <- action_property_representation.property action_property_representation action_property_representation.representation -> representation representation.items[i] -> representation_item => geometric_representation_item => direction |
AIM element: | machining_workingstep |
---|---|
Source: | 10303-238 |
Reference path: | machining_workingstep <= machining_process_executable <= action_method { action_method.description = 'additive' } |
AIM element: | PATH |
---|---|
Rules: | feature_optional_machining_property_process |
Reference path: | machining_workingstep <= machining_process_executable <= action_method <- action_method_relationship.relating_method action_method_relationship { action_method_relationship => machining_feature_relationship } action_method_relationship.related_method -> { action_method => machining_process_executable => machining_feature_process } action_method <- action.chosen_method { action.name = 'machining' } action => property_process <- process_property_association.process process_property_association process_property_association.property_or_shape -> property_or_shape_select property_or_shape_select = shape_definition shape_definition shape_definition = shape_aspect shape_aspect |
AIM element: | PATH |
---|---|
Reference path: | machining_process_executable <= action_method <- action.chosen_method { action.name = 'support geometry' } 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: | product_definition |
---|---|
Source: | 10303-41 |
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1050, ISO 10303-1051, and ISO 10303-1052.
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1129, ISO 10303-1291, ISO 10303-1331, and ISO 10303-1779.
The mapping specification for the application objects in this UoF shall be as defined by ISO 10303-1012, ISO 10303-1013, ISO 10303-1014, ISO 10303-1015, and the specification below.
AIM element: | applied_date_and_time_assignment |
---|---|
Source: | 10303-1014 |
Reference path: | applied_date_and_time_assignment <= date_and_time_assignment.role -> date_time_role { date_time_role.name = 'last modified' } |
The following notes are referenced in the preceding tables:
1) For bounding geometry that is either a block or cylinder, ISO 14649-10 references block and right_circular_cylinder. For harmonization with AP 224 and AP 214 these two cases have been mapped to the shape_representation subtypes block_shape_representation and cylindrical_shape_representation instead. Aside from these two cases, the mapping for its_bounding_geometry is simply the its_geometry parameter of the its_rawpiece.
2) The product_definition_formation_with_specified_source subtype of product_definition_formation is present in the integrated representation to simplify the use of workpiece descriptions that have originated from an AP 203 process. This use of this subtype is not recommended in the general case.
3) Assembly information is likely to originate in upstream applications using AP 203, AP 214, or AP 242, which permit assembly components to be placed using mapped_item or item_defined_transformation. The originating_orientation and resulting_orientation mappings allow either technique to be used for compatibility with existing APs and data sets. When using item_defined_transformation, some APs have not clearly stated which attribute refers to the component and which refers to the enclosing assembly, which has led to confusion. Here transform_item_1 refers to the original workpiece placement and transform_item_2 refers to the placement within the assembly. Additional discussion on the handling of shape in assemblies can be found in ISO 10303-214.
4) Although the initial_value for Nc_variable is defined as a Number by ISO 14649, the mapping has been constructed as if it were actually of type Nc_constant, so as to avoid introducing a different way of handling essentially the same concept.
5) The item_defined_transformation locates the workpiece within a setup in a manner similar to an assembly. Here transform_item_1 refers to the original workpiece placement and transform_item_2 refers to the placement within the setup. Previous APs have not clearly stated which side of the item_defined_transform refers to the enclosing assembly, which has led to confusion.
6) This ARM attribute is defined as a list. The mapping path shown in the table shows how to relate the elements of the list. Ordering is handled by the sequence_position attribute on the relationship, which is inherited from the sequential_method supertype. This attribute holds a number indicating the position within the list. For exemple, the fifth item in the list would have sequence_position=5.
7) The Toolpath_list application object is not mapped. Instead, the mapping goes directly to the toolpath objects. Ordering is handled by the sequence_position attribute on the relationship as described in NOTE 6
8) The ARM models Axis_trajectory as two parallel lists, where axis_list[1] contains the axis name corresponding to the curve in command[1]. Then, axis_list[2] contains the axis name for command[2] and so on. In the AIM, parallel lists are not used. Instead, the representation.items set contains one bounded curve for each axis to be moved by the trajectory and the axis name is kept in the representation_item.name attribute of each curve.
9) The process_model_list application object is not mapped. Instead, the mapping goes directly to the process model objects. Ordering is handled by the sequence_position attribute on the relationship as described in NOTE 6
10) The ARM attribute corner_transitions is defined as a list, but list ordering is not encoded by the mapping. If ordering is desired, the corner transitions shall be ordered by corner_identity.
This clause specifies the EXPRESS schema that uses elements from the the common resources and contains the types, entity specializations, rules, and functions that are specific to this document. This clause also specifies modifications to the text for constructs that are imported from the common resources. The definitions and EXPRESS provided in the integrated resources for constructs used in the AIM can include select list items and subtypes that are not imported into the AIM. Requirements stated in the integrated resources that refer to select list items and subtypes apply exclusively to those items that are imported into the AIM.
*) SCHEMA model_based_integrated_manufacturing_schema; -- Core workpiece and GDT definition for interoperating with AP242 USE FROM Model_based_3d_geometrical_dimensioning_and_tolerancing_representation_mim; -- 10303-1816 -- Activity_mim -- Activity_method_mim -- Activity_method_assignment_mim -- Advanced_boundary_representation_mim -- Alias_identification_mim -- Alternative_solution_mim -- Approval_mim -- Assembly_structure_mim -- Attribute_classification_mim -- Basic_curve_mim -- Basic_geometric_topology_mim -- Basic_geometry_mim -- B_spline_geometry_mim -- Certification_mim -- Characterizable_object_mim -- Classification_assignment_mim -- Classification_with_attributes_mim -- Class_mim -- Condition_mim -- Configuration_effectivity_mim -- Configuration_item_mim -- Construction_geometry_mim -- Contextual_shape_positioning_mim -- Contract_mim -- Date_time_mim -- Date_time_assignment_mim -- Derived_shape_element_mim -- Design_material_aspects_mim -- Design_product_data_management_mim -- Dimension_tolerance_mim -- Document_and_version_identification_mim -- Document_assignment_mim -- Document_definition_mim -- Document_management_mim -- Document_properties_mim -- Document_structure_mim -- Effectivity_application_mim -- Effectivity_mim -- Elemental_geometric_shape_mim -- Elemental_topology_mim -- Event_mim -- Event_assignment_mim -- Extended_date_mim -- Extended_measure_representation_mim -- External_class_mim -- External_item_identification_assignment_mim -- External_model_mim -- External_source_mim -- Feature_and_connection_zone_mim -- File_identification_mim -- Foundation_representation_mim -- Functional_breakdown_mim -- Generic_material_aspects_mim -- Geometric_model_relationship_mim -- Geometric_tolerance_mim -- Group_mim -- Identification_assignment_mim -- Incomplete_data_reference_mechanism_mim -- Independent_property_mim -- Independent_property_representation_mim -- Information_rights_mim -- Item_definition_structure_mim -- Management_resource_information_mim -- Manifold_subsurface_mim -- Manifold_surface_mim -- Manufacturing_configuration_effectivity_mim -- Maths_value_mim -- Measure_representation_mim -- Multi_linguism_mim -- Name_assignment_mim -- Parametric_representation_mim -- Part_and_version_identification_mim -- Part_collection_mim -- Part_definition_relationship_mim -- Part_shape_mim -- Part_view_definition_mim -- Person_organization_mim -- Person_organization_assignment_mim -- Physical_breakdown_mim -- Plib_class_reference_mim -- Pre_defined_product_data_management_specializations_mim -- Process_property_assignment_mim -- Product_and_manufacturing_information_with_nominal_3d_models_mim -- Product_as_individual_mim -- Product_breakdown_mim -- Product_class_mim -- Product_concept_identification_mim -- Product_data_management_mim -- Product_identification_mim -- Product_occurrence_mim -- Product_placement_mim -- Product_replacement_mim -- Product_structure_mim -- Product_version_mim -- Product_version_relationship_mim -- Product_view_definition_mim -- Product_view_definition_properties_mim -- Product_view_definition_reference_mim -- Product_view_definition_relationship_mim -- Project_mim -- Property_assignment_mim -- Property_as_definition_mim -- Qualified_measure_mim -- Requirement_assignment_mim -- Requirement_identification_and_version_mim -- Requirement_view_definition_mim -- Requirement_view_definition_relationship_mim -- Security_classification_mim -- Shape_composition_mim -- Shape_feature_mim -- Shape_property_assignment_mim -- Single_part_representation_mim -- Solid_model_mim -- Specification_based_configuration_mim -- Specification_control_mim -- Specified_product_mim -- Support_resource_mim -- Surface_conditions_mim -- Test_select_product_mim -- Time_interval_mim -- Time_interval_assignment_mim -- Topologically_bounded_surface_mim -- Value_with_unit_mim -- Value_with_unit_extension_mim -- Work_order_mim -- Work_request_mim -- Feature definitions harmonized between STEP AP242/238/224 and ISO 141649 USE FROM Mechanical_design_features_and_requirements_mim; -- 10303-1846 -- Appearance_assignment_mim -- Associative_draughting_elements_mim -- Associative_text_mim -- Basic_data_representation_mim -- Characteristic_mim -- Colour_mim -- Curve_appearance_mim -- Draughting_element_mim -- External_library_mim -- External_properties_mim -- Machining_features_mim -- Mechanical_design_features_and_requirements_mim -- Specification_document_mim -- Styled_curve_mim -- Tagged_text_representation_mim -- Text_appearance_mim -- Presentation and other PMI USE FROM Default_tolerance_mim; -- 10303-1052 USE FROM Dimension_and_tolerance_callouts_mim; -- 10303-1362 USE FROM Mechanical_design_presentation_representation_with_draughting_mim; -- 10303-1315 USE FROM Product_and_manufacturing_annotation_presentation_mim; -- 10303-1812 -- Camera_view_3d_mim -- Characterized_representation_mim -- Default_setting_association_mim -- Extended_basic_geometry_mim -- Fill_area_style_mim -- General_surface_appearance_mim -- Layer_assignment_mim -- Mechanical_design_geometric_presentation_mim -- Mechanical_design_shaded_presentation_mim -- Presentation_hierarchy_mim -- Shape_appearance_layers_mim -- Draughting_annotation_mim -- Draughting_element_specialisations_mim USE FROM Design_product_data_management_mim; -- 10303-1628 USE FROM Geometric_validation_property_representation_mim; -- 10303-1039 -- Shape representations types USE FROM Compound_shape_representation_mim; -- 10303-1327 USE FROM Curve_swept_solid_mim; -- 10303-1659 USE FROM Edge_based_wireframe_mim; -- 10303-1501 USE FROM Elementary_boundary_representation_mim; -- 10303-1329 USE FROM Faceted_boundary_representation_mim; -- 10303-1512 USE FROM Geometrically_bounded_surface_mim; -- 10303-1507 USE FROM Geometrically_bounded_wireframe_mim; -- 10303-1510 USE FROM Non_manifold_surface_mim; -- 10303-1324 USE FROM Primitive_solids_mim; -- 10303-1791 USE FROM Scan_data_3d_shape_mim; -- 10303-1831 USE FROM Shell_based_wireframe_mim; -- 10303-1502 USE FROM Tessellated_geometry_mim; -- 10303-1819 USE FROM Topologically_bounded_surface_mim; -- 10303-1511 USE FROM Vertex_colours_for_tessellated_geometry_mim; -- 10303-1836 -- Machine tool kinematic representation USE FROM Kinematic_analysis_control_and_result_mim; -- 10303-1817 -- Additive manufacturing setup and support USE FROM Additive_manufacturing_part_and_build_information_mim; -- 10303-1835 -- Process_plan_mim -- Resource_item_mim USE FROM External_representation_item_mim; -- 10303-1779 USE FROM Numeric_expression_mim; -- 10303-1526 USE FROM Product_categorization_mim; -- 10303-1016 USE FROM action_schema -- 10303-41 (action_resource_relationship, action_resource_type); USE FROM method_definition_schema -- 10303-49 (action_method_with_associated_documents, concurrent_action_method, sequential_method, serial_action_method); USE FROM representation_schema -- 10303-43 (representation_item_relationship); USE FROM systems_engineering_representation_schema -- 10303-61 (expression_item_representation_item); USE FROM application_context_schema -- 10303-41 (application_protocol_definition); (*
The ISO 10303 application protocols describe various aspects of a product throughout the lifecycle from design to analysis to manufacturing and beyond. By mapping the information requirements to a common set of integrated resources these application protocols describe shared concepts in a consistent manner.
ISO 10303-238 is designed for representation and exchange of data for manufacture using numerically controlled machines. It begins with the information requirements set forth by the ISO 14649 data model for computerized numerical controllers and describes how to represent those within the larger view of product data defined by the combined set of ISO 10303 application protocols.
Where the ISO 14649 standards describe requirements not already handled by other APs, this integration process is straightforward. However, there are several areas where the ISO 14649 standards redefine concepts that have already been addressed by existing application protocols.
The first is the definition of manufacturing features. Requirements for manufacturing features are documented in ISO 10303-1814. During development of the ISO 14649 standards, efforts were made to align ISO 14649 feature definitions with those already existing in ISO 10303. Progress was made, but a number of differences remain. See Manufacturing feature concepts for discussion of the general feature concepts and Manufacturing feature details by type for an explanation of how differences are handled for specific feature types within this document.
The second is the use of units of measurement. The ISO 14649 standards constrain the usage of units to simplify their model. Within the context of ISO 10303 application protocols, this constraint is inappropriate because of the general unit handling mechanism of the ISO 10303 integrated resources. See Measurement concepts for discussion of measurement concepts in more detail.
In addition, there are several places where the ISO 14649 standards directly reference ISO 10303 integrated resources without giving any context as to how they should be used. To cover these situations, additional definitions have been added to Clause 4 to provide guidance. The ISO 10303 integrated representation also requires additional context descriptions for some types of information See Context concepts for discussion of these context descriptions.
Finally, there are information requirements which were not considered by ISO 14649 for the isolated case of input to a CNC control, but which must be considered by this document for integrating across the lifecycle such as geometric dimensions and tolerances. Additional definitions have been added to Clause 4 to handle these.
In the ISO 10303 integrated representation, the shape of many manufacturing feature types can be described as a profile swept along a travel path. This implicit description of feature shape is controlled by characteristic parameters of the Profile and Travel_path subtypes.
EXAMPLE 1 The profile and path representation of several feature types is shown in Figure 5. The shape of the features are controlled by such characteristic parameters as the length of the sweep path, the diameter of the swept circular profile, the length and width of the swept rectangular profile, etc.
Most of the machining_feature types defined by ISO 14649-10 use the same profile and path information requirements as the ISO 10303 integrated representation. However, in some, the authors of ISO 14649-10 chose to merge profile parameters into the feature definition, change orientations, or change conventions for reference points.
Several common cases are discussed below. See Manufacturing feature details by type for a systematic review of the profile and path conventions for feature types in the integrated representation, and an explanation of how to convert to the conventions used by ISO 14649.
EXAMPLE 2 The ISO 14649-10 definition of a round hole has a diameter measure. In the AIM mappings, we tie this to the diameter measure of a circular profile. The profile and path representation is still used at the AIM level for harmonization, even when the concepts are only tangentially represented in the ARM.
Each feature has a placement parameter that describes the location and orientation of the feature in space. The origin of the feature is the reference point for the placement. In the integrated representation, placement is conveyed as an instance of axis2_placement3d. A Cartesian point gives the location in space of the feature origin, and a pair of direction vectors gives the orientation of the Z and X axes of the feature.
To describe feature depth, the ISO 10303 integrated representation uses a parameter of the profile or path. This varies by feature type but is often the length of the sweep path. The origin of the feature is at the start of the sweep path, with the Z axis of the feature aligned along the path. This means that the feature origin is at the bottom of the feature with Z either pointed up and out of the material (pocket, round hole, outside profile), or along the material (slot, step, planar face).
The authors of ISO 14649 chose a different method and instead encode depth as a surface representing the deepest part of the feature. As part of this, ISO 14649 defines the origin of the feature at the top of the feature, so that depth can be computed geometrically as the distance between the feature placement and the depth surface.
Consequently, a feature can have different values for placement location, and possibly orientation, in the ISO 10303 integrated representation and the ISO 14649 representation.
EXAMPLE Consider Figure 6 and assume a round hole 2 units deep, with the bottom centre of the hole located at (0, 0, 0). In the ISO 10303 representation, the placement location of the hole is (0, 0, 0) and the length of the sweep path is 2 units. In the ISO 14649 representation, the placement location of the hole would be (0, 0, +2) and the feature would point to an instance of elementary_surface defining a plane at z=0;
ISO 14649 requires a depth surface for all machining_feature types, even where profile and path information is available. Within this document, this constraint is relaxed since depth is already available from the profile and path parameters. The depth surface is represented by a parameter called "maximum feature depth," which is also an optional parameter in the AP 224 and AP 214 models.
NOTE Why were the reference points for features done this way? Before it is machined, the top of a feature often corresponds to a tangible location on the stock where a machinist could measure or make a mark. The bottom of the feature is usually buried within the stock.
The ISO 10303 standards originally defined features on the final form of the part as input to process planning. However, the features on the final part may not exactly match the features as machined. Consider a flat surface with a hole drilled in it. If the hole is drilled before the face is machined, the top of the hole will be higher than if it is drilled after the face is machined. The location in space of the bottom of the hole remains the same regardless of the sequence of operations.
Since planning activity can explore different operation sequences, describing the location from a reference point at the bottom of the feature allows the numeric value of the location to remain constant, even if the volume of the feature changes during process planning. Subsequent ISO 10303 standards continue to use this convention for compatibility.
ISO 14649 chose to use the top to more closely match the conventions used by machinists. Application software built around AP 238 may find it useful to present location information to a human using the ISO 14649 conventions, while still using the ISO 10303 convention for data exchange.
The placement of a feature is described by an axis2_placement_3d, which contains a pair of direction vectors that give the orientation of the Z and X axes of the feature. From these, the orientation of the Y axis is computed by vector cross product, and the orientation of the other feature aspects are determined by conventions established in the feature definitions.
In the ISO 10303 integrated representation, profiles are defined to exist in the XY plane. Most features sweep the profile in the Z direction (the one exception is planar face, which uses a linear profile defined to lie along the X axis and is swept along the Y axis). The origin of a feature, its profile, and its path are all at the same point in space. Within the AIM instance data, it is recommended that the "placement" parameters of all three share the same axis2_placement_3d instance.
In ISO 14649, profiles are also defined in the XY plane, but sometimes interpreted as lying in the XZ plane because of the way feature orientation is defined. In the ISO 14649 representation, the origin of the profile, path, and feature can lie at different points. See Manufacturing feature details by type for a listing of specific differences for each feature type.
EXAMPLE Figure 7 shows a slot made up of a rounded u profile. In the ISO 10303 representation, the feature placement gives the origin of both the sweep path and the profile, with the profile in the XY plane and the sweep along the Z axis.
In the ISO 14649 representation, the feature placement location defines the top centre of the slot, with the profile assumed to lie in the XZ plane, and swept along the Y axis. To find the origin of the profile, offset by the depth of the profile. Because of the change in axes, the direction of sweep is reversed, which means that the placement is also at the other end of the slot from the ISO 10303 representation.
In the ISO 10303 integrated representation, feature shape can be described implicitly using a collection of characteristic parameters like depth, width, etc. This is done using the profile and path representation discussed in previous sections. It is also possible to describe feature shape using an explicit representation based on faces from a boundary representation.
ISO 14649 only supports implicit representation of feature shape. For harmonization, an explicit_representation parameter has been added to Manufacturing_feature to support the explicit representation approach.
Within the AIM instance data, an explicit shape description appears as face instances in the items set of a shape_representation. The characteristic parameters for the implicit shape description appear as measure_representation_item instances in the items set of a shape_representation_with_parameters. The characteristic parameters for profile and path instances are handled in the same way.
Both of these representations are associated with the feature through shape_definition_representation instances which refer to a property_definition. The property_definition refers to the shape_aspect instances representing the feature. Features that inherit from characterized_object (all except for transition features) use the product_definition_shape subtype instead. Local rules permit only one product_definition_shape instance per feature, so the instance is shared by both implicit and explicit representations, as well as the reference paths for any profile and path instances.
EXAMPLE 1 Figure 8 shows an instance diagram for a feature containing implicit and explicit representations. The instances describing the profile and path are not shown, but each is a shape_aspect subtype similar to the feature instance. The parameters describing each is held by a shape_representation_with_parameters instance and related to the profile or path using the same pattern of shape_definition_representation and product_definition_shape instances as shown below.
An alternate mapping path is given for the explicit_representation parameter that does not use the shape_representation or shape_definition_representation subtypes. This alternate should only be used for reading instance data that has originated from an AP 224 process. The preferred mapping should be used for any new instance data. Examples 2 and 3 illustrate both mappings.
EXAMPLE 2 The preferred explicit_representation encoding. In the exchange file fragment below, #10 describes a round hole feature on a workpiece (#100, not shown). The explicit shape description is given by the advanced_face instances (#50, #60, #70) in a shape_representation (#40) with a name of "explicit feature shape", and is related to the feature through a shape_definition_representation (#30) and product_definition_shape (#20).
#10=( CHARACTERIZED_OBJECT('',$) FEATURE_DEFINITION() INSTANCED_FEATURE() ROUND_HOLE() SHAPE_ASPECT('',$,#100,.T.) ); #20=PRODUCT_DEFINITION_SHAPE('','',#10); #30=SHAPE_DEFINITION_REPRESENTATION(#20,#40); #40=SHAPE_REPRESENTATION('explicit feature shape',(#50,#60,#70),#200); #50=ADVANCED_FACE( ... ); #60=ADVANCED_FACE( ... ); #70=ADVANCED_FACE( ... ); #100= [ ... to workpiece ... ] #200= [ ... to geometric context ... ]
EXAMPLE 3 The alternate explicit_representation encoding. The exchange file fragment below describes the same feature as the previous example, but the advanced_face instances are in an instance of the representation base type (#40) with no name, and is related to the feature through a property_definition_representation (#30) and property_definition (#20) with no name. Since other feature properties can have representations containing faces, there can be some ambiguity.
#10=( CHARACTERIZED_OBJECT('',$) FEATURE_DEFINITION() INSTANCED_FEATURE() ROUND_HOLE() SHAPE_ASPECT('',$,#100,.T.) ); #20=PROPERTY_DEFINITION('',$,#10); #30=PROPERTY_DEFINITION_REPRESENTATION(#20,#40); #40=REPRESENTATION('',(#50,#60,#70),#200); #50=ADVANCED_FACE( ... ); #60=ADVANCED_FACE( ... ); #70=ADVANCED_FACE( ... ); #100=PRODUCT_DEFINITION_SHAPE('','',#210); #110=PRODUCT_DEFINITION( ... workpiece product definition ... ); #200= [ ... geometric context omitted ... ]
A machining workplan is composed of machining workingsteps, each of which refers to a feature that defines a volume of space acted upon by that workingstep. This volume of space is empty of material when the operation is finished, subject to any finishing allowance or overcut modifiers in the associated operation parameters. Furthermore, the workingstep shall not remove any material outside of the feature volume.
NOTE It is possible that the volume defined by the feature is not be the exact removal volume if some of the material has already been removed by previous workingsteps. Consider roughing and finishing of a pocket. Both workingsteps would refer to the pocket. The roughing step removes the entire volume except for a finishing allowance, while the finishing step removes only a thin shell.
These features are tightly tied to the machining process defined by the workplan. If a manufacturing engineer creates an alternate workplan to make the same workpiece, the new workplan can use a completely different set of features.
EXAMPLE 1 Figure 9 shows a stairway-shaped workpiece and two different machining processes to produce that workpiece. The example on the right shows a depth-first machining workplan while the example on the left shows a breadth-first machining workplan. Both workplans produce the same result, but each calls out very different features.
AP 224 and other parts of ISO 10303 identify features on the final form of the workpiece that are not necessarily tied to a specific sequence of machining processes. These features are used as input to the process planning activity. The output of macro process-planning can be described as an AP 240 data set that includes these features with additional intermediate features related to a particular process. This document describes the micro process-plan and is concerned with the features associated with a particular process, but it is desirable to link the features on the final form with the set of workingsteps that contribute to their manufacture. This associativity through the entire design to manufacturing path is useful for related downstream tasks, such as inspection, which could use the tracability to pinpoint critical areas of interest in the micro and macro process-plans.
EXAMPLE 2 Figure 10 shows a workpiece whose final form contains a step and an open slot. The input to the process planner was an open slot and step, and for whatever reason, he decided to machine the slot first and the step second. The workplan contains two workingsteps, the first of which refers to a closed slot and the second of which refers to the step.
With the first workingstep, ISO 14649 is only concerned with the closed slot, and there is no way to trace back to the open slot feature on the final part. In the second workingstep, of course, the process and final form feature are the same thing.
A similar situation arises for "consumed" features such as entry holes, which are drilled to provide a starting point for an endmill to facilitate later machining operations. The entry hole feature never appears on the final workpiece because it is machined away by subsequent operations.
ISO 14649 links the machining_workingstep application object to the feature that defines its removal volume through the its_feature attribute. In this document, an optional attribute called final_features has been added to workingstep to support traceability back to the features used as input to the process planning activity.
If used, this attribute contains a set of one or more features visible on the final form of the workpiece that the process planner was targeting when he or she added the workingstep to the machining workplan.
In the ISO 10303 integrated representation, a planar face is represented by a linear profile swept along a linear path to form the plane that results after material has been removed. The origin of the feature lies on the plane. The depth of material removed is given by the removal_depth length parameter associated with the feature. Figure 11 illustrates the planar face parameters.
Two direction vectors are associated with the planar face. One is part of the linear path and defines the direction that the swept profile sweeps along the path direction. This shall be aligned along the Y axis of the feature placement. The other direction vector is the removal_direction, which defines the surface normal of the plane. This shall be aligned with the Z axis of the feature placement. The profile is defined to extend along the X axis of the feature placement.
In ISO 14649, the placement of the feature is defined to lie at the top of the material to be removed. One must then geometrically evaluate the distance between this placement and the depth surface to determine the depth of material.
This document adds the removal_depth and removal_direction attributes to the planar_face application object. These attributes are present for harmonization with the other ISO 10303 parts and also simplify conversion between the two conventions.
To convert to the ISO 14649 representation, move the placement along the direction given by the removal_direction by the distance given by the removal_depth attribute.
In the ISO 10303 integrated representation, a round hole is represented by a circular closed profile swept along a linear path. The diameter of the profile is the diameter of the circle and the length of the travel path is the depth of the hole. The Round_hole bottom_at_path_end parameter determines whether the placement is at the bottom of the hole with the Z axis pointing up out of the material or at the top of the hole with the Z axis pointing down into the material. Figure 12 illustrates the handling of round hole placement.
A direction vector is part of the linear path and defines the direction that the profile is swept. This shall be aligned along the Z axis of the feature placement. The profile lies in the XY plane of the feature placement with the feature placement at the centre of the profile.
In ISO 14649, a hole does not use profile or path definitions. Instead, the diameter is an attribute of the Round_hole definition. To convey depth, the feature placement is assumed to be at the top of the hole with Z pointed away from the material. To determine the depth of the hole, one must geometrically evaluate the distance in the negative Z direction between this placement and the depth surface.
This document adds the course_of_travel attribute to the Round_hole application object. This attribute represents the travel path for harmonization with the other ISO 10303 parts and simplifies conversion between the two conventions.
To convert to the ISO 14649 representation, construct the depth surface if it is not present and adjust the feature placement. For a placement at the top of the hole (bottom_at_path_end is TRUE), rotate the feature placement about the X axis so that Z => -Z and Y => -Y. For a placement at the bottom of the hole (bottom_at_path_end is FALSE), move the placement in the Z direction by the length of the course_of_travel path.
In the ISO 10303 integrated representation, a pocket is represented by a profile swept along a linear path. Material is removed on the inside of the profile, and the length of the travel path is the depth of the pocket. The Pocket bottom_at_path_end parameter determines whether the placement is at the bottom of the pocket with the Z axis pointing up out of the material or at the top of the pocket with the Z axis pointing down into the material. Figure 13 illustrates the handling of pocket placement.
A direction vector is part of the linear path and defines the direction that the profile is swept. This shall be aligned along the Z axis of the feature placement. The profile lies in the XY plane of the feature placement with the profile origin aligned with feature placement.
In ISO 14649, the pocket definitions have a profile but not a path attribute. In order to convey depth, the placement of the feature is assumed to be at the top of the feature with Z pointed away from the material. To determine the depth of the pocket, one must geometrically evaluate the distance in the negative Z direction between this placement and the depth surface.
This document adds the course_of_travel attribute to the Pocket application object. This attribute represents the travel path for harmonization with the other ISO 10303 parts and simplifies conversion between the two conventions.
To convert to the ISO 14649 representation, construct the depth surface if it is not present and adjust the feature placement. For a placement at the top of the pocket (bottom_at_path_end is TRUE), rotate the feature placement about the X axis so that Z => -Z and Y => -Y. For a placement at the bottom of the pocket (bottom_at_path_end is FALSE), move the placement in the Z direction by the length of the course_of_travel path.
In the ISO 10303 integrated representation, a Profile_feature (General_outside_profile or Shape_profile) is represented by a profile swept along a linear path. Material is removed on the outside of the swept profile. The length of the travel path is the depth of the profile_feature.
For a general outside profile, the feature placement is at the bottom with the Z axis pointing up out of the material. Figure 14 illustrates the parameters associated with all Profile_features as well as the placement of a general outside profile.
Shape profiles have an additional floor condition that determines the feature placement. For shape profiles, the Profile_floor start_or_end parameter determines whether the feature placement is at the bottom of the profile with the Z axis pointing up out of the material (start_or_end is FALSE), or at the top of the profile with the Z axis pointing down into the material (start_or_end is TRUE). Figure 15 illustrates the placement of a shape profile.
A direction vector is part of the linear path and defines the direction that the profile is swept. This shall be aligned along the Z axis of the feature placement. The swept profile lies in the XY plane of the feature placement with the origin of the swept profile aligned with feature placement.
In ISO 14649, the feature definitions have a profile and path, but use a different convention for placement. The placement of the feature is assumed to be at the top of the feature with Z pointed away from the material. To determine the depth of the Profile_feature, one must geometrically evaluate the distance in the negative Z direction between this placement and the depth surface. However, the depth is also present in the length of the travel path, given by the profile_swept_shape attribute.
To convert a General_outside_profile to the ISO 14649 representation, construct the depth surface if it is not present and move the placement in the Z direction by the length of the profile_swept_shape path.
To convert a Shape_profile to the ISO 14649 representation, construct the depth surface if it is not present and adjust the feature placement. For a placement at the top of the Shape_profile (start_or_end is TRUE), rotate the feature placement about the X axis so that Z => -Z and Y => -Y. For a placement at the bottom of the Shape_profile (start_or_end is FALSE), move the placement in the Z direction by the length of the profile_swept_shape path.
In the ISO 10303 integrated representation, a slot feature is represented by an open profile swept along a travel path. Material is removed on the inside of the swept profile. The depth of the open profile gives the depth of the slot feature. The feature placement is at the bottom of the feature with the Z axis pointing along the travel path. Figure 16 illustrates the slot parameters.
A direction vector is part of the travel path and defines the direction that the profile is swept. This shall be aligned along the Z axis of the feature placement. The profile lies in the XY plane of the feature placement with the profile origin aligned with feature placement at the bottom of the slot feature.
In ISO 14649, the slot definition has a profile and path, but uses a different convention for the location and orientation of the feature placement. The placement is defined at the top of the material with the Z axis pointing up and the travel path is defined to extend along the Y axis. To determine the depth of the slot, one must geometrically evaluate the distance in the negative Z direction between this placement and the depth surface.
This document adds depth attributes to the Square_u_profile and Rounded_u_profile application objects. These attributes represent the depth of the profiles for harmonization with the other ISO 10303 parts and to simplify conversion between the two conventions. The depths of other open profile types can be computed from existing parameters.
To convert to the ISO 14649 representation, rotate the feature placement about the X axis so that Z => Y and Y => -Z. Then move the placement along the length of the course_of_travel and depth of the swept profile.
Change the direction on the course_of_travel path so that it points along the new Y axis rather than the Z axis. The origin of the open profile is defined at the bottom of the profile, so it can no longer share the placement of the feature. Assign it a separate placement offset by the profile depth. Finally, construct the depth surface if it is not present.
In the ISO 10303 integrated representation, a step feature is represented by a vee profile swept along a linear path. Material is removed on the inside of the vee profile. The length of one arm of the vee profile gives the depth of the step feature. The length of the other arm gives the width of the step feature. The feature placement is at the point of the vee profile with the Z axis pointing along the travel path. Figure 17 illustrates the step parameters.
A direction vector is part of the travel path and defines the direction that the profile is swept. This shall be aligned along the Z axis of the feature placement. The profile lies in the XY plane of the feature placement with the profile origin aligned with feature placement at the point of the vee profile.
In ISO 14649, the step definition has a profile and path, but uses a different convention for the location and orientation of the feature placement. The placement is defined at the top of the material with the Z axis pointing up and the travel path is defined to extend along the Y axis. To determine the depth of the step, one must geometrically evaluate the distance in the negative Z direction between this placement and the depth surface.
This document adds the first_side_length and second_side_length attributes to the Vee_profile application object. These attributes represent the length of each arm of the vee for harmonization with the other ISO 10303 parts and to simplify conversion between the two conventions.
To convert to the ISO 14649 representation, rotate the feature placement about the X axis so that Z => Y and Y => -Z. Then move the placement along the length of the course_of_travel and the second_side_length arm of the vee profile.
Change the direction on the course_of_travel path so that it points along the new Y axis rather than the Z axis. The origin of the vee_profile is defined as the point of the vee, so it can no longer share the placement of the feature. Assign it a separate placement offset by the second_side_length. Finally, construct the depth surface if it is not present.
In the ISO 10303 application protocols, chamfers and edge rounds are defined as a relationship between two sets of geometric elements on the boundary representation of the workpiece. Each transition feature has a first_face_shape and a second_face_shape parameter. Each contains a set of face_surface or oriented_face instances taken from the brep description of the workpiece shape. In addition, several characteristic parameters are associated with each feature type. Chamfers have an offset and face angle, while edge rounds have two offsets and a radius to describe the transition surface.
ISO 14649 calls out the same characteristic parameters, but defines chamfers and edge rounds as a relationship between two features. Each transition feature has a first_feature and a second_feature parameter referring to the features on either side of the transition.
NOTE 1 Why were two approaches used? Historically, the ISO 10303 approach was defined first, but this requires that brep geometry be present in order to describe transition features. From the ISO 14649 perspective, geometry is optional and may be omitted, so it made sense to define transition features as a relationship between two features instead.
This document extends the Chamfer and Edge_round application objects to support the use of both approaches. This was done by adding chamfer_face, first_face_shape and second_face_shape attributes to Chamfer and adding edge_round_face, first_face_shape and second_face_shape attributes to Edge_round. These attributes are optional and represent the faces associated with the transition features for harmonization with the other ISO 10303 parts. Figure 18 shows both approaches for transition features.
The chamfer_requires_faces_or_features and edge_round_requires_faces_or_features rules have been added to require transition features to use at least one of the approaches.
NOTE 2 The AIC 522 rules originally required chamfers and edge rounds to have associated sets of faces. In order to accommodate either style, these rules were changed from required ("exactly one") to optional ("at most one") in AIC 522 Edition 2. APs that wish to permit only the face style can add a global rule to strengthen these constraints if desired.
As originally mapped in AP 224, Edge_round has three face sets, each mapped to a face_shape_representation. They are attached through the common product_definition_shape instance, but the mapping calls for the edge_round_face to be associated via a shape_definition_representation (and thus is also the feature's explicit representation) while the first and second_face_shapes are called to be associated only by plain property_definition_representation instances.
In the ISO 10303 integrated representation, measurements such as length, angle, and time are represented as instances of the measure_with_unit type. A subtype is used when one exists for the particular type of measure value. The following sections discuss measure_with_unit subtypes in greater detail.
Within each instance, the value_component attribute holds the numeric value of a measure and the unit_component attribute holds a reference to an instance of named_unit or derived_unit defining the unit of measurement for the value. In this way, each numeric value is accompanied by a unit to provide context. In general, only one instance of each unit is needed, as a single unit instance can be shared by many measure_with_unit instances.
Measurements most often appear in the items set of the representation of an action_property, resource_property, or property_definition. The items set must refer to representation_item instances, so measurements are encoded as a measure_representation_item, which is a subtype of measure_with_unit and representation_item. The measure_with_unit subtypes for specific types of values are still used by creating a complex entity instance with measure_representation_item.
EXAMPLE 1 No value-specific subtype of measure_with_unit exists for count measurements, so a count value is simply encoded as an instance of measure_representation_item. In the exchange file fragment below, #10 is an instance of this type describing a count of 5. The unit for the value is encoded by #20, which is a context_dependent_unit with a name of "count".
#10=MEASURE_REPRESENTATION_ITEM('', COUNT_MEASURE(5.),#20); #20=CONTEXT_DEPENDENT_UNIT(#30,'count'); #30=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
EXAMPLE 2 A length measurement would be encoded as a complex instance of length_measure_with_unit and measure_representation_item. In the exchange file fragment below, #40 is a complex instance of these types describing a value of 22.5mm. The millimetre unit is encoded by #50, which is also a complex instance of length_unit and si_unit. In general, each value-specific subtype of measure_with_unit has a corresponding subtypes of named_unit that is used in a complex instance with either si_unit or conversion_based_unit for units describing those types of values.
#40=( LENGTH_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(LENGTH_MEASURE(22.5),#50) REPRESENTATION_ITEM('') ); #50=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
In ISO 14649 all basic measures are defined using specific, fixed units (all lengths are expressed in millimeters, all plane angles are expressed in degrees), so units do not appear explicitly in the data sets. ISO 14649 is unable to transmit measurements defined by other units without first numerically converting the values to the specified units.
To convert to the ISO 14649 representation, convert the numeric value of each measure from the unit description provided with the measure to the default unit specified by ISO 14649.
In the ISO 10303 integrated representation, qualifications such as plus/minus bounds, significant digits, limits and fits, or maximum/minimum can be applied to measurement values. This is encoded by creating a complex entity instance of qualified_representation_item, measure_representation_item, and, if one exists, a value-specific measure_with_unit subtype. The qualified_representation_item adds a set of value qualifiers to the instance that describe the conditions placed on the value.
EXAMPLE 1 A length measurement with a plus/minus tolerance is encoded as a complex instance of length_measure_with_unit, measure_representation_item, and qualified_representation_item. In the exchange file fragment below, #10 describes a value of 80mm plus or minus 0.1, with 5 significant digits of precision. The upper and lower bounds (#20 and #30) are encoded using standard_uncertainty instances, while the digits of precision (#40) are encoded using a a precision_qualifier.
#10=( LENGTH_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(LENGTH_MEASURE(80.),#50) QUALIFIED_REPRESENTATION_ITEM((#20,#30,#40)) REPRESENTATION_ITEM('') ); #20=STANDARD_UNCERTAINTY('upper limit','',0.1); #30=STANDARD_UNCERTAINTY('lower limit','',0.1); #40=PRECISION_QUALIFIER(5); #50=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
EXAMPLE 2 A length measurement with a value limitation is encoded in the same way, but a type_qualifier is used to indicate the type of limitation. In the exchange file fragment below, #10 describes a maximum value of 80mm.
#10=( LENGTH_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(LENGTH_MEASURE(80.),#30) QUALIFIED_REPRESENTATION_ITEM((#20)) REPRESENTATION_ITEM('') ); #20=TYPE_QUALIFIER('maximum'); #30=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
NOTE The qualified_representation_item encoding is used for all measure types, including lengths and plane angles, with one exception. When a length or plane angle measure appears as the dimension_value of a Geometric_dimension, a plus/minus or limits and fits qualification is encoded differently for harmonization reasons. See the mapping specifications for Plus_minus_value and Limits_and_fits for details.
A plane angle measure is encoded using an instance of plane_angle_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a plane_angle_unit, so a complex entity instance with si_unit or a conversion_based_unit is used.
EXAMPLE A plane angle measurement used in a representation would be encoded as a complex instance of plane_angle_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a value of 90 degrees.
#10=( MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(90.),#30) PLANE_ANGLE_MEASURE_WITH_UNIT() REPRESENTATION_ITEM('') );
The degree unit is encoded by #30, which is a complex instance of plane_angle_unit and conversion_based_unit that defines one degree as PI/180 radians. The name attribute has a value of "degree", which is not required, but is good form. The radian unit is encoded by #20, which is a complex instance of plane_angle_unit and si_unit.
#20=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); #30=( CONVERSION_BASED_UNIT('degree',#50) NAMED_UNIT(#40) PLANE_ANGLE_UNIT() ); #40=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.); #50=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.01745329252),#20);
A solid angle measure is encoded using an instance of solid_angle_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a solid_angle_unit, so a complex entity instance with si_unit or a conversion_based_unit is used.
EXAMPLE A solid angle measurement used in a representation would be encoded as a complex instance of solid_angle_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a value of 0.5 steradian.
#10=( MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(SOLID_ANGLE_MEASURE(0.5),#20) REPRESENTATION_ITEM('') SOLID_ANGLE_MEASURE_WITH_UNIT() );
The steradian unit is encoded by #20, which is a complex instance of solid_angle_unit and si_unit. Conversion-based solid angle units, such as square degrees, are possible but not used in practice.
#20=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
An area measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). A derived_unit consisting of a length unit squared is used to describe the measure.
NOTE ISO 10303-41 defines value-specific subtypes area_measure_with_unit and area_unit, but the use of these is deprecated because they are not usable as defined. The unit for an area measure is described as a derived_unit, but a complex instance of area_unit and derived_unit is not permitted by the EXPRESS definition.
EXAMPLE An area measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 10 square millimetres.
#10=MEASURE_REPRESENTATION_ITEM('',AREA_MEASURE(10.),#20);
The square millimetre unit is encoded by #20, which is a derived_unit based on one derived_unit_element which references a millimetre unit (#50) with an exponent of 2. The derived_unit has an associated name_attribute instance with a value of "square millimetre", which is not required, but is good form.
#20=DERIVED_UNIT((#30)); #30=DERIVED_UNIT_ELEMENT(#50,2.); #40=NAME_ATTRIBUTE('square millimetre',#20); #50=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
A count measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). A context_dependent_unit with a name of "count" is used to describe the measure.
EXAMPLE In the exchange file fragment below, #10 describes a count of 5 encoded as a measure_with_unit. The count unit is encoded by #20. Example 1 in Measurement values and units describes a count meaurement encoded using measure_representation_item.
#10=MEASURE_WITH_UNIT(COUNT_MEASURE(5.),#20); #20=CONTEXT_DEPENDENT_UNIT(#30,'count'); #30=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
A force measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A si_unit or a conversion_based_unit is used to describe the measure.
EXAMPLE A force measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 20 Newtons (N) and #20 describes a value of 14 pounds force (lbf).
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(20.),#30); #20=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(14.),#40);
The Newton unit is encoded by #30, which is a simple entity instance of si_unit. The pound force unit is encoded as a simple entity instance of conversion_based_unit that defines one pound force equal to approximately 4.448221615 Newtons. The name attribute has a value of "pound-force", which is not required, but is good form. Note the dimensional exponents in #50 as pressure requires dimensions of (length * mass)/time squared.
#30=SI_UNIT(*,$,.NEWTON.); #40=CONVERSION_BASED_UNIT(#50,'pound-force',#60); #50=DIMENSIONAL_EXPONENTS(1.,1.,-2.,0.,0.,0.,0.); #60=MEASURE_WITH_UNIT(NUMERIC_MEASURE(4.448221615),#30);
A length measure is encoded using an instance of length_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a length_unit, so a complex entity instance with si_unit or a conversion_based_unit is used.
EXAMPLE A length measurement used in a representation would be encoded as a complex instance of length_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a value of 12 inches.
#10=( LENGTH_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(LENGTH_MEASURE(12.),#30) REPRESENTATION_ITEM('') );
The inch unit is encoded by #30, which is a complex instance of length_unit and conversion_based_unit that defines one inch as 25.4 millimetres. The name attribute has a value of "inch", which is not required, but is good form. The millimetre unit is encoded by #20, which is a complex instance of length_unit and si_unit.
#20=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); #30=( CONVERSION_BASED_UNIT('inch',#50) LENGTH_UNIT() NAMED_UNIT(#40) ); #40=DIMENSIONAL_EXPONENTS(1.,0.,0.,0.,0.,0.,0.); #50=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#20);
A mass measure is encoded using an instance of mass_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a mass_unit, so a complex entity instance with si_unit or a conversion_based_unit is used.
EXAMPLE A mass measurement used in a representation would be encoded as a complex instance of mass_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a mass of 2 kilograms. The kilogram unit is encoded by #20, which is a complex instance of mass_unit and si_unit.
#10=( MASS_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(MASS_MEASURE(2.),#20) REPRESENTATION_ITEM('') ); #20=( MASS_UNIT() NAMED_UNIT(*) SI_UNIT(.KILO.,.GRAM.) );
A power measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A si_unit or a conversion_based_unit is used to describe the measure.
EXAMPLE A power measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 15 kilowatts (kW) and #20 describes a value of 14 horsepower (hp)
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(15.),#30); #20=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(14.),#40);
The kW unit is encoded by #30, which is a simple entity instance of si_unit. The hp unit is encoded as a simple entity instance of conversion_based_unit that defines one horsepower equal to approximately 0.7456999 kilowatts. The name attribute has a value of "horsepower", which is not required, but is good form. Note the dimensional exponents in #50 as pressure requires dimensions of (length squared * mass)/time cubed.
#30=SI_UNIT(*,.KILO.,.WATT.); #40=CONVERSION_BASED_UNIT(#50,'horsepower',#60); #50=DIMENSIONAL_EXPONENTS(2.,1.,-3.,0.,0.,0.,0.); #60=MEASURE_WITH_UNIT(NUMERIC_MEASURE(0.7456999),#30);
A pressure measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A si_unit or a conversion_based_unit is used to describe the measure.
EXAMPLE A pressure measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 25 kilopascals (kPa) and #20 describes a value of 14 pounds per square inch (psi)
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(25.),#30); #20=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(14.),#40);
The kPa unit is encoded by #30, which is a simple entity instance of si_unit. The psi unit is encoded as a simple entity instance of conversion_based_unit that defines one psi as 6.894757 kilopascals. The name attribute has a value of "pound/square inch", which is not required, but is good form. Note the dimensional exponents in #50 as pressure requires dimensions of mass/(length * time squared).
#30=SI_UNIT(*,.KILO.,.PASCAL.); #40=CONVERSION_BASED_UNIT(#50,'pound/square inch',#60); #50=DIMENSIONAL_EXPONENTS(-1.,1.,-2.,0.,0.,0.,0.); #60=MEASURE_WITH_UNIT(NUMERIC_MEASURE(6.894757),#30);
A ratio measure is encoded using an instance of ratio_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a ratio_unit. Percentage measures are represented as an instance of ratio_measure_with_unit with a numeric value of 0 representing 0/100 or 0% and a numeric value of 1 representing 100/100 or 100%.
EXAMPLE A ratio measurement used in a representation would be encoded as a complex instance of ratio_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a value of 25% (0.25). The ratio unit is encoded by #20.
#10=( MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(RATIO_MEASURE(0.25),#20) RATIO_MEASURE_WITH_UNIT() REPRESENTATION_ITEM('') ); #20=RATIO_UNIT(#30); #30=DIMENSIONAL_EXPONENTS (0.,0.,0.,0.,0.,0.,0.);
A linear speed measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A derived_unit consisting of a length unit per time unit is used to describe the measure.
EXAMPLE A linear speed measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 10 millimetres per second.
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(10.),#20);
The mm/s unit is encoded by #20, which is a derived_unit based on a derived_unit_element which references a millimetre unit (#60) with an exponent of 1, and a derived_unit_element which references a second unit (#70) with an exponent of -1. The derived_unit has an associated name_attribute instance with a value of "millimetre/second", which is not required, but is good form.
To describe other velocity units, like meter per second or inch per minute, replace the length unit (#60) and the time unit (#70) with the appropriate meter, inch, or minute unit descriptions.
#20=DERIVED_UNIT((#30,#40)); #30=DERIVED_UNIT_ELEMENT(#60,1.); #40=DERIVED_UNIT_ELEMENT(#70,-1.); #50=NAME_ATTRIBUTE('millimetre/second',#20); #60=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); #70=( NAMED_UNIT(*) SI_UNIT($,.SECOND.) TIME_UNIT() );
A linear speed that is described as a length per tool tooth, revolution, or other non-time quantity is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A derived_unit consisting of a length unit per tooth, revolution, or other context-dependent unit is used to describe the measure.
EXAMPLE A length per tooth speed measure used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 1 millimetre per tooth.
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(1.),#20);
The mm/tooth unit is encoded by #20, which is a derived_unit based on a derived_unit_element which references a millimetre unit (#60) with an exponent of 1, and a derived_unit_element which references a tooth context-dependent unit (#70) with an exponent of -1. The derived_unit has an associated name_attribute instance with a value of "millimetre/tooth", which is not required, but is good form.
To describe length per revolution units, like millimetre per revolution, replace the tooth context-dependent unit (#70) with a revolution context-dependent unit description. See Speed (rotational) measure for an example of a revolution unit.
#20=DERIVED_UNIT((#30,#40)); #30=DERIVED_UNIT_ELEMENT(#60,1.); #40=DERIVED_UNIT_ELEMENT(#70,-1.); #50=NAME_ATTRIBUTE('millimetre/tooth',#20); #60=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); #70=CONTEXT_DEPENDENT_UNIT(#80,'tooth'); #80=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
A rotational speed measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A derived_unit consisting of a revolution context-dependent unit over a time unit is used to describe the measure.
EXAMPLE A rotational speed measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 5 revolutions per second.
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(5.),#20);
The revolutions per second unit is encoded by #20, which is a derived_unit based on a derived_unit_element which references a references a revolution unit (#60) with an exponent of 1 and a second unit (#80) with an exponent of -1. The derived_unit has an associated name_attribute instance with a value of "revolution/second", which is not required, but is good form.
To describe other rotational speed units, like revolutions per minute, replace the time unit (#80) with the appropriate minute unit description.
#20=DERIVED_UNIT((#30,#40)); #30=DERIVED_UNIT_ELEMENT(#60,1.); #40=DERIVED_UNIT_ELEMENT(#80,-1.); #50=NAME_ATTRIBUTE('revolution/second',#20); #60=CONTEXT_DEPENDENT_UNIT(#70,'revolution'); #70=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.); #80=( NAMED_UNIT(*) SI_UNIT($,.SECOND.) TIME_UNIT() );
A time measure is encoded using an instance of time_measure_with_unit. Local rules on this type require that the unit used to describe the measure be a time_unit, so a complex entity instance with si_unit or a conversion_based_unit is used.
EXAMPLE A time measurement used in a representation would be encoded as a complex instance of time_measure_with_unit and measure_representation_item. In the exchange file fragment below, #10 describes a value of 5 minutes.
#10=( MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(TIME_MEASURE(5.),#30) REPRESENTATION_ITEM('') TIME_MEASURE_WITH_UNIT() );
The minute unit is encoded by #30, which is a complex instance of time_unit and conversion_based_unit that defines one minute as 60 seconds. The name attribute has a value of "minute", which is not required, but is good form. The second unit is encoded by #20, which is a complex instance of time_unit and si_unit.
#20=( NAMED_UNIT(*) SI_UNIT($,.SECOND.) TIME_UNIT() ); #30=( CONVERSION_BASED_UNIT('minute',#50) NAMED_UNIT(#40) TIME_UNIT() ); #40=DIMENSIONAL_EXPONENTS(0.,0.,1.,0.,0.,0.,0.); #50=TIME_MEASURE_WITH_UNIT(TIME_MEASURE(60.),#20);
A torque measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). The value_component of the instance is a numeric_measure. A derived_unit consisting of a length times a force unit is used to describe the measure.
EXAMPLE 1 A torque measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 10 Newton meters.
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(10.),#20);
The N-m unit is encoded by #20, which is a derived_unit based on a derived_unit_element which references a Newton unit (#60) with an exponent of 1, and a derived_unit_element which references a meter unit (#70) with an exponent of 1. The derived_unit has an associated name_attribute instance with a value of "newton meter", which is not required, but is good form.
#20=DERIVED_UNIT((#30,#40)); #30=DERIVED_UNIT_ELEMENT(#60,1.); #40=DERIVED_UNIT_ELEMENT(#70,1.); #50=NAME_ATTRIBUTE('newton meter',#20); #60=SI_UNIT(*,$,.NEWTON.); #70=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT($,.METRE.) );
EXAMPLE 2 In the exchange file fragment below, #10 describes a value of 20 pound feet. To describe the pound foot torque unit, a derived_unit is used as in the previous example. The force unit (#70) is given as a pound force unit description as in Force measure. The length unit (#110) is given as a foot unit.
#10=MEASURE_REPRESENTATION_ITEM('',NUMERIC_MEASURE(20.),#20); #20=DERIVED_UNIT((#30,#40)); #30=DERIVED_UNIT_ELEMENT(#70,1.); #40=DERIVED_UNIT_ELEMENT(#110,1.); #50=NAME_ATTRIBUTE('pound foot',#20); #60=SI_UNIT(*,$,.NEWTON.); #70=CONVERSION_BASED_UNIT(#80,'pound-force',#90); #80=DIMENSIONAL_EXPONENTS(1.,1.,-2.,0.,0.,0.,0.); #90=MEASURE_WITH_UNIT(NUMERIC_MEASURE(4.448221615),#60); #100=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); #110=( CONVERSION_BASED_UNIT('foot',#130) LENGTH_UNIT() NAMED_UNIT(#120) ); #120=DIMENSIONAL_EXPONENTS(1.,0.,0.,0.,0.,0.,0.); #130=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(304.8),#100);
A volume measure is encoded using an instance of measure_with_unit (or measure_representation_item when used in a representation). A derived_unit consisting of a length unit cubed is used to describe the measure.
NOTE ISO 10303-41 defines value-specific subtypes volume_measure_with_unit and volume_unit, but the use of these is deprecated because they are not usable as defined. The unit for a volume measure is described as a derived_unit, but a complex instance of volume_unit and derived_unit is not permitted by the EXPRESS definition.
EXAMPLE A volume measurement used in a representation would be encoded as a measure_representation_item. In the exchange file fragment below, #10 describes a value of 20 cubic millimetres.
#10=MEASURE_REPRESENTATION_ITEM('',VOLUME_MEASURE(20.),#20);
The cubic millimetre unit is encoded by #20, which is a derived_unit based on a derived_unit_element which references a millimetre unit (#50) with an exponent of 3. The derived_unit has an associated name_attribute instance with a value of "cubic millimetre", which is not required, but is good form.
#20=DERIVED_UNIT((#30)); #30=DERIVED_UNIT_ELEMENT(#50,3.); #40=NAME_ATTRIBUTE('cubic millimetre',#20); #50=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
A number of properties on the technology and machining strategy application objects describe feedrate, spindle speed, or dwell time values. Several alternative types of measure value can be used to describe each of these values.
EXAMPLE 1 A feedrate could be described either as a linear speed (length per unit of time), or as a length per tooth of the tool being used.
The ISO 14649 documents use different modeling styles to describe these alternatives. The ISO 14649-11 milling model frequently uses different attributes for each alternative with a local rule forbidding the use of more than one at a time. The ISO 14649-12 turning model frequently uses a SELECT type to model the alternatives.
EXAMPLE 2 In ISO 14649-11, Milling_technology "spindle" and "cutspeed" are separate attributes that use different techniques (constant angular speed versus constant linear speed at the cutting point) to describe the machine tool spindle rotation. A local rule on Milling_technology prevents the use of both. ISO 14649-12 uses one attribute called "spindle_speed" defined as a Speed_select SELECT type that models the same two different ways to describe spindle rotation.
In the integrated representation, all alternative description techniques for a particular kind of value (feed speed, spindle speed, or dwell time) are encoded using a single representation subtype.
These representation subtypes identify the technique being used by with a particular value of the representation "description" attribute. Within the representation are representation items that give the numeric measure values. The uses and allowable combinations are described by the mapping specifications and local rules on the EXPRESS definition.
Feed speeds are encoded using machining_feed_speed_representation. This representation subtype handles four different ways of describing a feedrate:
Spindle speeds are encoded using machining_spindle_speed_representation. This representation subtype handles three different ways of describing a spindle speed:
ISO 14649 defines the direction of spindle rotation to be counter-clockwise when described as a positive rotational speed value, and clockwise when described as a negative rotational speed value. However, ISO 14649-11 is silent on the direction of rotation when spindle speed is described as a linear speed value.
In this document, the same sign convention shall be used for spindle speeds described as either rotational or linear speeds: positive linear speed describes counter-clockwise spindle rotation and negative linear speed describes clockwise spindle rotation. The rotational direction is as observed looking from spindle to workpiece. A zero rotational or linear speed shall indicate a stopped spindle.
NOTE Many cutting tools require clockwise motion so spindle speeds will typically be negative.
Dwell times are encoded using (See machining_dwell_time_representation). This representation subtype handles two different ways of describing a dwell time:
A number of application object properties describe boolean or enumeration symbolic values. Each symbolic value is encoded using an instance of descriptive_representation_item. The description field of the instance holds the value.
Since the range of symbolic values is fixed, it is recommended to instantiate this entity exactly once for each unique symbolic value that appears in the data set. Properties that have the same symbolic value can share either the descriptive_representation_item or the enclosing representation.
EXAMPLE In the exchange file fragment below, #10 and #20 describe two Milling_machine_functions application objects, each with chip removal on and coolant on. Within the ARM, chip removal and coolant are both described as boolean parameters. In the integrated representation, thse are represented as symbolic values 'chip removal on', 'chip removal off', 'coolant on', and 'coolant off'.
Only one descriptive_representation_item instance is needed to describe the 'chip removal on' value (#30), and it can be shared by all properties, along with its enclosing representation (#31). The instance describing 'coolant on' (#40) and its enclosing representation (#41) is shared as well.
#10=MACHINING_FUNCTIONS('functions one','milling','',''); #11=ACTION_PROPERTY('chip removal','',#10); #12=ACTION_PROPERTY_REPRESENTATION('','',#11,#30); #13=ACTION_PROPERTY('coolant','',#10); #14=ACTION_PROPERTY_REPRESENTATION('','',#13,#40); #20=MACHINING_FUNCTIONS('functions two','milling','',''); #21=ACTION_PROPERTY('chip removal','',#20); #22=ACTION_PROPERTY_REPRESENTATION('','',#21,#30); #23=ACTION_PROPERTY('coolant','',#20); #24=ACTION_PROPERTY_REPRESENTATION('','',#23,#40); #30=REPRESENTATION('constant',(#31),#50); #31=DESCRIPTIVE_REPRESENTATION_ITEM('','chip removal on'); #40=REPRESENTATION('constant',(#41),#50); #41=DESCRIPTIVE_REPRESENTATION_ITEM('','coolant on'); #50=REPRESENTATION_CONTEXT('','units not necessary');
Context forms an important part of the ISO 10303 integrated representation, particularly with respect to the description of geometric properties. The value of an action_property, resource_property, or property_definition is encoded as a set of representation_items within an instance of a representation. The representation context_of_items attribute refers to a representation_context instance that supplies additional contextual information about the value.
Local rules on the ISO 10303 geometry definitions require that any enclosing representation must refer to a geometric_representation_context to identify the dimensionality (2D, 3D, etc.) of the geometry. The geometry definitions are unitless, so global_unit_assigned_context is also used to specify length, plane angle, and solid angle units. Finally, to enable solid model exchange between systems with dissimilar geometric accuracy, global_uncertainty_assigned_context is often used to document an uncertainty distance below which two points are considered to be the same.
A representation can only refer to a single representation_context instance, so a complex entity instance of the types is normally used.
EXAMPLE 1 In the exchange file fragment below, #10 is a representation containing an axis placement (#20, and #21) describing an origin location at (1.1, 2.2, 3.3). The representation context is given by #30 which indicates that the geometry described is three dimensional, lengths are measured in millimetres, angles in radians, solid angles in steradians, and points within 0.000006mm of each other are to be considered the same.
#10=SHAPE_REPRESENTATION('',(#20),#30); #20=AXIS2_PLACEMENT_3D('orientation',#21,$,$); #21=CARTESIAN_POINT('',(1.1,2.2,3.3)); #30=( GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#40)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#50,#60,#70)) REPRESENTATION_CONTEXT('ID1','3D') ); #40=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-006),#50, 'DISTANCE_ACCURACY_VALUE', 'Maximum model space distance between geometric entities at asserted connectivities'); #50=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); #60=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); #70=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
A context is still required for a representation containing non-geometric representation_item instances. In this case, an instance of the representation_context base type is sufficent.
In general, only one instance of each type of context is needed, as it can be shared by many representation instances.
EXAMPLE 2 In the exchange file fragment below, #10 is a representation containing a description (#20) and a length measure (#21). The length measure is already completely described by its unit (#40) and neither it nor the description require additional context information. The representation context (#30) satisfies the EXPRESS definition requirement that the representation context_of_items has a value.
#10=REPRESENTATION('',(#20,#21),#30); #20=DESCRIPTIVE_REPRESENTATION_ITEM('','coolant on'); #21=( LENGTH_MEASURE_WITH_UNIT() MEASURE_REPRESENTATION_ITEM() MEASURE_WITH_UNIT(LENGTH_MEASURE(2.),#40) REPRESENTATION_ITEM('') ); #30=REPRESENTATION_CONTEXT('','units not necessary'); #40=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
Within this document, Project, Setup, and Workpiece are encoded in the integrated representation as products. Like representations, additional context information is also required for these products.
A product is required to have a product_context which identifies engineering discipline from whose point of view the data is being presented by the application protocol. This in turn refers to an application_context and application_protocol_definition which describes the application protocol used to describe the product, the schema name, and status of the application protocol within the ISO standardization process. It is recommended to instantiate the product_context, application_context, and application_protocol_definition entities exactly once in the data set.
A product_definition is required to have a product_definition_context which identifies the life cycle stage or maturity of the data being presented and refers to an application context description. It is recommended to instantiate the product_definition_context entity exactly once in the data set.
NOTE A value of "manufacturing" is recommended for both product_context discipline_type and product_definition_context life_cycle_stage.
EXAMPLE In the exchange file fragment below, #10, #20, and #30 are the product structure instances encoding a workpiece with its_id = "1234-K789" and a revision_id = "1.0". The product_context (#40) identifies a design discipline, the product_definition_context (#70) identifies a life cycle stage, and instances #50 and #60 identifies this document.
#10=PRODUCT('1234-K789','widget','a fictional product',(#40)); #20=PRODUCT_DEFINITION_FORMATION('1.0','first version of our widget',#10); #30=PRODUCT_DEFINITION('design','example product_definition',#20,#70); #40=PRODUCT_CONTEXT('CNC Machining',#50,'manufacturing'); #50=APPLICATION_CONTEXT('Application protocol for the exchange of CNC data'); #60=APPLICATION_PROTOCOL_DEFINITION('international standard', 'model_based_integrated_manufacturing_schema',2018,#50); #70=PRODUCT_DEFINITION_CONTEXT('CNC Machining',#50,'manufacturing');
The definitions of Cutter_contact_trajectory, Cutter_location_trajectory, Axis_trajectory, and Toolpath_speed, require that the curves that describe location (basiccurve), tool axis, surface normal, and feed speed must have the same parameterization.
When the curves are b-splines, the intent of this requirement is that all curves are evaluated at the same U and V values to get the appropriate XYZ or IJK values. When the location curve is described using other types of bounded_curve, such as a polyline, ISO 14649 does not describe how the corresponding tool axis, surface normal, and feed speed values are to be determined for specific location values.
NOTE Since these other types of curve have no explicit UV parameterization to synchronize, the simplest approach is to describe the tool axis, surface normal, or tool speed at the start and end of the curve, and then linearly interpolate between the two values as the tool moves along the basis curve. Polylines and composite curves are segmented, so the direction can be given at each segment.
Except for the cases described below, all supporting curves (tool axis, surface normal, or feed) shall be given as polyline with two points. The first point indicates the supporting value (tool axis, surface normal, or feed) at the start of the location curve, and the second point indicates the supporting value at the end of the location curve.
EXAMPLE The exchange file fragment below shows a sample Cutter_location_trajectory basiccurve (#10) and its_toolaxis curve (#60). Both curves are polylines with the same number of points. At the locations described by #20 #30, and #40, the tool axis is as described by #70. At the location described by #50, the tool axis is as described by #80. The sharing of instance #70 is not required, but leads to a more space-efficient description than replicating the cartesian point values across three instances would.
#10=POLYLINE('basic curve for WS 12 TP 124',(#20,#30,#40,#50)); #20=CARTESIAN_POINT('',(2.9164976,0.4320305,-2.2)); #30=CARTESIAN_POINT('',(2.8524770,0.4960510,-3.2348622)); #40=CARTESIAN_POINT('',(-0.4960510,-2.8524770,-3.2348622)); #50=CARTESIAN_POINT('',(-0.4898882,-2.8586399,-3.1352428)); #60=POLYLINE('tool axis for WS 12 TP 124',(#70,#70,#70,#80)); #70=CARTESIAN_POINT('',(0.0616284,-0.0616284,0.9961947)); #80=CARTESIAN_POINT('',(-0.0616284,-0.0616284,0.9961947));
The definitions of Cutter_contact_trajectory and Cutter_location_trajectory specify curves that describe the components of direction vectors for tool axis and surface normal. ISO 14649 does not indicate whether the direction vectors given by these curves shall be normalized (length equal to one).
It is recommended that these direction vectors be normalized.
When describing a toolpath consisting of a circular arc, the trimmed_curve subtype of bounded_curve is used. The trimmed_curve.basis_curve attribute is an instance of circle, and the trim_1 and trim_2 attributes contain cartesian_points representing the start and end points respectively. The direction of traversal is indicated by comparing the trimmed_curve sense_agreement attribute with the mathematical sense of the underlying circle.
NOTE Given a circle in the XY plane with an axis placement along the positive Z axis, a sense_agreement of true indicates counterclockwise motion (from +X,0 to 0,+Y to -X,0 to 0,-Y), while a sense_agreement of false indicates clockwise motion.
EXAMPLE The exchange file fragment below shows a trimmed curve (#10), based on a circle located at (0,0,0) with a radius of 3.5. The arc starts (3.5,0,0) (#50) and traverses a 90 degree arc to (0,3.5,0) (#60).
#10=TRIMMED_CURVE('',#20,(#50),(#60),.T.,.CARTESIAN.); #20=CIRCLE('',#30,3.5); #30=AXIS2_PLACEMENT_3D('centre placement',#40,$,$); #40=CARTESIAN_POINT('centre location',(0.,0.,0.)); #50=CARTESIAN_POINT('start point',(3.5,0.,0.)); #60=CARTESIAN_POINT('end point',(0.,3.5,0.));
A toolpath containing a circular arc may be described using a polyline with an instance of the via_arc_point subtype of cartesian_point.
When describing a toolpath consisting of a complete circle, the trimmed_curve approach described in the previous section is used, but the trim_1 (start) and trim_2 (end) points shall be the same point in space, and specify where the cutter enters & exits the circle. The start and end shall either reference the same cartesian_point instance or two instances with identical XYZ values.
NOTE Use of the same cartesian_point instance is preferred as this avoids numeric comparisons between coordinate values.
EXAMPLE Arcs and complete circles can occur when roughing out a circular pocket. An entry arc, full circle and then exit arc are illustrated in Figure 19.
A toolpath containing a complete circle may be described using a polyline with two instances of the via_arc_point subtype of cartesian_point.
The Machine_functions application object shall be used to declare conditions required on the machine tool for the execution of an operation or toolpath. Advanced machining applications may require conditions that are not among those enumerated by this document. These conditions can be declared using the other_functions parameter of Machine_functions.
Historically, conditions on machine tools were often established using locally-defined numeric codes that are modal in nature. When describing the effect of these codes using other_function, the name of the Representation_item shall be the condition name and the value shall be one of the range of possible modes.
NOTE The Extended_NC_function application object should not be used to convey individual modal codes because it does not identify the common condition that the codes control. Also, an Extended_NC_function can not appear between two toolpaths, only between Operations
EXAMPLE An advanced fiber placement tool as illustrated in Figure 20 can contain many spools of fiber, heaters, and tapehead activity state. These may be controlled by numeric codes like the ones listed below.
N332 M12 (Heater high) N334 M9 P65535 (Tapehead on) ... N534 M11 (Heater low) ... N554 M10 (Tapehead off) N560 M13 (Heater off)
These states can be represented using the following descriptive representation items:
#31=DESCRIPTIVE_REPRESENTATION_ITEM('heater','heater high'); #32=DESCRIPTIVE_REPRESENTATION_ITEM('heater','heater low'); #33=DESCRIPTIVE_REPRESENTATION_ITEM('heater','heater off'); #51=DESCRIPTIVE_REPRESENTATION_ITEM('tapehead','tapehead on'); #52=DESCRIPTIVE_REPRESENTATION_ITEM('tapehead','tapehead off');
The exchange file fragment below shows a machine functions that declares 'tapehead on' and 'heater high' conditions using the 'other functions' property.
#100=MACHINING_FUNCTIONS('','milling','',''); #101=ACTION_PROPERTY('other functions','',#100); #102=ACTION_PROPERTY_REPRESENTATION('','',#101,#103); #103=REPRESENTATION('',(#105,#106),#104); #104=REPRESENTATION_CONTEXT('','units not necessary'); #105=DESCRIPTIVE_REPRESENTATION_ITEM('tapehead','tapehead on'); #106=DESCRIPTIVE_REPRESENTATION_ITEM('heater','heater high');
The process model defined by ISO 14649 describes the planned state of processes and makes no attempt to represent the results of execution. Where a planned process would produce results, such as touch_probing, the operations identify an external variable name, but the value must be collected from a machine tool by some unspecified method.
NOTE During testing with the first edition of this document, results of execution such as geometry as-machined, motion reported by the machine tool, and cutting tools selected at machining time were mixed with the planned process data in single, combined, data sets. The model could represent the values, but could not distinguish between as-planned and as-executed data sources. Furthermore, the model could only represent as-executed values for a single execution run.
The twin_start, twin_end, twin_plan and other parameters added to Executable by the second edition of this document enable a clear distinction between as-planned and as-executed values, and scale to represent values from many execution runs. The external reference mechanism introduced by ISO 10303-21:2016 may be used to organize as-planned and as-executed processes into separate exchange structures.
This document extends the process model with additional parameters to describe a process that has been executed by a machine tool or simulated by software. This is called a digital twin process. A digital twin process represents the process values, encountered during machining and can reference the planned process that was being executed. A planned process is typically executed many times, and many digital twin processes can reference a single planned process, as shown in Figure 21.
A twin process follows the same structure as a planned process. The root is a Manufacturing_Project application object, which refers to a Workplan as its main workplan. A twin process shall set the twin_start to a value in the main workplan and all children Executables. A planned process shall not set the twin_start to any value in the main workplan and all children Executables.
An Executable within a twin process may set the twin_source and twin_exception parameters to describe whether it was machined or simulated, and whether it completed sucessfully. The Executable may may set the twin_plan parameter to identify the Executable within a planned process that was machined or simulated. If an Executable within a twin process was not planned before execution, the twin_plan parameter shall not be set.
EXAMPLE 1 An unplanned operation may not originate in a CAM system. A workpiece may be delivered by a supplier, stored in a warehouse and cut to size before CAM-planned operations begin. Operations like ordering and pre-cutting are not described in CAM because they are not executed by a machine control, but recording them in the results data may be important if the part fails in the field. The Extended_operation can describe operations for which there is no STEP-NC definition, with details determined by the enterprise.
An Executable within a twin process shall describe information gathered from simulating or executing a manufacturing task. Because the amount of information available may vary, a twin process may only give a summary description for an entire workplan or may include a detailed description for some, but not all, workingsteps in a process. Figure 22 shows twin processes at different levels of detail.
EXAMPLE 2 A simple twin process may include a “twin” for the main workplan with as-is and to-be geometry, but nothing else. A more detailed twin process may include "twins" for each workingsteps, with as-machined toolpaths constructed from MTconnect data.
Any application object parameter that is required but not set in a twin process shall be interpreted to have the value set in the as-planned process.
EXAMPLE 3 When interpreting a twin process, if the operation of a workingstep is not set, the operation of the twin_plan executable is used. Similarly, if the tool_diameter of the twin process is not set, then the tool_diameter found through the twin_plan executable is used.
The mbmfg_approval_item type is an extension of the approval_item type. It adds the data types product, product_definition, and product_definition_formation to which an approval can be assigned.
*) TYPE mbmfg_approval_item = SELECT BASED_ON approval_item WITH ( product, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_classification_item type is an extension of the classification_item type. It adds the data type externally_defined_representation_with_parameters to which a group can be assigned.
*) TYPE mbmfg_classification_item = SELECT BASED_ON classification_item WITH ( externally_defined_representation_with_parameters ); END_TYPE; (*
The mbmfg_date_and_time_item type is an extension of the date_and_time_item type. It adds the data types machining_operation, machining_process_executable, machining_toolpath, product, product_definition, and product_definition_formation to which a referenced date_and_time can be assigned.
*) TYPE mbmfg_date_and_time_item = SELECT BASED_ON date_and_time_item WITH ( machining_operation, machining_process_executable, machining_toolpath, product, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_date_item type is an extension of the date_item type. It adds the data types product, product_definition, and product_definition_formation to which a referenced date can be assigned.
*) TYPE mbmfg_date_item = SELECT BASED_ON date_item WITH ( product, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_organization_item type is an extension of the organization_item type. It adds the data types product, product_definition, and product_definition_formation to which a referenced organization can be assigned.
*) TYPE mbmfg_organization_item = SELECT BASED_ON organization_item WITH ( product, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_person_and_organization_item type is an extension of the person_and_organization_item type. It adds the data types product, product_definition, and product_definition_formation to which a referenced person_and_organization can be assigned.
*) TYPE mbmfg_person_and_organization_item = SELECT BASED_ON person_and_organization_item WITH ( product, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_presented_item_select type is an extension of the presented_item_select type. It adds the data types action, action_method, action_relationship, product_concept, product_concept_feature, product_concept_feature_category, product_definition, product_definition_formation, and product_definition_relationship to which a referenced presented_item can be assigned.
*) TYPE mbmfg_presented_item_select = SELECT BASED_ON presented_item_select WITH ( action, action_method, action_relationship, product_concept, product_concept_feature, product_concept_feature_category, product_definition, product_definition_formation, product_definition_relationship ); END_TYPE; (*
The mbmfg_security_classification_item type is an extension of the security_classification_item type. It adds the data types machining_operation, machining_process_executable, machining_toolpath, product_definition, and product_definition_formation to which a referenced security_classification can be assigned.
*) TYPE mbmfg_security_classification_item = SELECT BASED_ON security_classification_item WITH ( machining_operation, machining_process_executable, machining_toolpath, product_definition, product_definition_formation ); END_TYPE; (*
The mbmfg_action_method_items type is an extension of the action_method_items type. It adds the data types characterized_object, dimensional_location, dimensional_size, geometric_tolerance, machining_cutting_component, machining_execution_resource, machining_tool, product_definition, product_definition_formation, and shape_aspect to which a referenced action_method can be assigned.
*) TYPE mbmfg_action_method_items = SELECT BASED_ON action_method_items WITH ( characterized_object, -- feature, old and new style dimensional_location, dimensional_size, geometric_tolerance, machining_cutting_component, machining_execution_resource, machining_tool, product_definition, -- workpiece, setup product_definition_formation, -- project shape_aspect -- feature, transitions ); END_TYPE; (*
An additive_manufacturing_atom is a type of shape_aspect that that identifies a material spatial characteristic for an additive manufacturing feature. See the ARM definitions for Am_heterogenuous_atom in ISO 14649-17 for more information.
*) ENTITY additive_manufacturing_atom SUBTYPE OF (shape_aspect); END_ENTITY; (*
An additive_manufacturing_construction is a type of shape_aspect that that describes material volumetric layout for an additive manufacturing feature. See the ARM definitions for Am_construction and subtypes in ISO 14649-17 for more information.
*) ENTITY additive_manufacturing_construction SUBTYPE OF (shape_aspect); END_ENTITY; (*
An additive_manufacturing_feature is a type of feature_definition that that identifies a volume of material that shall be added to obtain the final part geometry from the initial stock. See the ARM definitions for Am_feature and subtypes in ISO 14649-17 for more information.
*) ENTITY additive_manufacturing_feature SUBTYPE OF (feature_definition); END_ENTITY; (*
An additive_type_operation is a type of machining_operation that represents the details of an additive manufacturing step of a machining process. See the ARM definitions for Am_operation and subtypes in ISO 14649-17 for more information.
*) ENTITY additive_type_operation SUBTYPE OF (machining_operation); WHERE WR1: (SELF.description IN ['oned','twod']); END_ENTITY; (*
WR1: The description of the additive_type_operation shall be either 'oned' or 'twod'.
A back_boring_operation is a type of drilling_type_operation that represents the details of a machining step in which in a tool passes through an existing hole in the workpiece and enlarges the hole from the back of the workpiece. See the ARM definition for Back_boring_operation in ISO 14649-11 for more information.
*) ENTITY back_boring_operation SUBTYPE OF (drilling_type_operation); WHERE WR1: (0 = SIZEOF (QUERY (amr <* get_relating_amr (SELF) | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP' IN TYPEOF (amr)) AND NOT (verify_required_action_property (amr.related_method, 'oriented spindle stop'))))); END_ENTITY; (*
WR1: All instances of machining_functions_relationship in which the back_boring_operation is the relating_method shall have a related_method which is the definition of exactly one action_property with a name of 'oriented spindle stop'.
NOTE This corresponds to local constraint WR1 on ARM entity Back_boring in ISO 14649-11.
A block_shape_representation specifies the representation of a shape that is a rectangular volume defined as a rectangular area of a defined length. The enclosed area shall be as defined by four straight sides with opposite sides equal in length.
NOTE This definition has been harmonized with the equivalent definition in ISO 10303-224.
*) ENTITY block_shape_representation SUBTYPE OF (shape_representation_with_parameters); WHERE WR1: (SIZEOF(SELF.items) = 4); WR2: (SIZEOF(QUERY ( it <* SELF.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1); WR3: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF( ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1); WR4: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'width')) )) = 1); WR5: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'height')) )) = 1); END_ENTITY; -- block_shape_representation (*
WR1: The block_shape_representation shall contain exactly four representation_items in its set of items.
WR2: One of the representation_items used for the implicit representation of a block_shape_representation shall be of type placement with a name of 'orientation'.
WR3: One of the representation_items used for the implicit representation of a block_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'length'.
WR4: One of the representation_items used for the implicit representation of a block_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'width'.
WR5: One of the representation_items used for the implicit representation of a block_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'height'.
IP1: The block_shape_representation shall be defined at the centre of the rectangular area in the X-Y plane with the width of the rectangle in the X direction, the height of the rectangle in the Y direction, and the length of the rectangle in the Z direction.
A boring_operation is a type of drilling_type_operation that represents the details of a drilling step in which in an existing hole is enlarged. See the ARM definitions for Boring_operation, Boring, and Reaming in ISO 14649-11 for more information.
*) ENTITY boring_operation SUBTYPE OF (drilling_type_operation); WHERE WR1: (SELF.description IN ['boring','reaming']); WR2: (verify_optional_action_property (SELF, 'spindle stop')) AND (verify_enumeration_action_property (SELF, 'spindle stop', ['spindle stop at bottom', 'spindle nonstop'])); WR3: (verify_optional_action_property (SELF, 'testcut depth')) AND (verify_length_measure_action_property (SELF, 'testcut depth')); WR4: (verify_optional_action_property (SELF, 'waiting position')) AND (verify_rep_item_for_action_property (SELF, 'waiting position', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.CARTESIAN_POINT'])); END_ENTITY; (*
WR1: The description of the boring_operation shall be either 'boring' or 'reaming'.
WR2: The boring_operation shall be the definition of at most one action_property with a name of 'spindle stop', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of either 'spindle stop at bottom' or 'spindle nonstop'.
WR3: The boring_operation shall be the definition of at most one action_property with a name of 'testcut depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: The boring_operation shall be the definition of at most one action_property with a name of 'waiting position', and the representation used to describe the action_property shall contain a representation_item of type cartesian_point.
A bottom_and_side_milling_operation is a milling_type_operation that represents a 2.5D milling step in which material is removed both parallel and perpendicular to the cutting tool axis. See the ARM definitions for Bottom_and_side_milling_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY bottom_and_side_milling_operation SUBTYPE OF (milling_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'axial cutting depth')) AND (verify_length_measure_action_property (SELF, 'axial cutting depth')); WR3: (verify_optional_action_property (SELF, 'radial cutting depth')) AND (verify_length_measure_action_property (SELF, 'radial cutting depth')); WR4: (verify_optional_action_property (SELF, 'allowance side')) AND (verify_length_measure_action_property (SELF, 'allowance side')); WR5: (verify_optional_action_property (SELF, 'allowance bottom')) AND (verify_length_measure_action_property (SELF, 'allowance bottom')); WR6: NOT (SELF.description = 'roughing') OR ((verify_required_action_property (SELF, 'allowance side')) AND (verify_required_action_property (SELF, 'allowance bottom'))); END_ENTITY; (*
WR1: The description of the bottom_and_side_milling_operation shall be either 'roughing' or 'finishing'.
WR2: The bottom_and_side_milling_operation shall be the definition of at most one action_property with a name of 'axial cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: The bottom_and_side_milling_operation shall be the definition of at most one action_property with a name of 'radial cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: The bottom_and_side_milling_operation shall be the definition of at most one action_property with a name of 'allowance side', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR5: The bottom_and_side_milling_operation shall be the definition of at most one action_property with a name of 'allowance bottom', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR6: If the description of the bottom_and_side_milling_operation is 'roughing', the bottom_and_side_milling_operation shall be the definition of exactly one action_property with a name of 'allowance side' and exactly one action_property with a name of 'allowance bottom'.
NOTE This corresponds to local constraints WR1 and WR2 on the ARM entity Bottom_and_side_rough_milling in ISO 14649-11.
A contouring_turning_operation is a turning_type_operation. See the ARM definitions for Contouring and subtypes in ISO 14649-12 for more information.
*) ENTITY contouring_turning_operation SUBTYPE OF (turning_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'allowance')) AND (verify_length_measure_action_property (SELF, 'allowance')); WR3: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance')); END_ENTITY; (*
WR1: The description of the contouring_turning_operation shall be either 'roughing' or 'finishing'.
WR2: The contouring_turning_operation shall be the definition of at most one action_property with a name of 'allowance', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: If the description of the contouring_turning_operation is 'roughing', the contouring_turning_operation shall be the definition of exactly one action_property with a name of 'allowance'.
NOTE This corresponds to local constraints WR1 on the ARM entity Contouring_rough in ISO 14649-12.
A cylindrical_shape_representation specifies representation of a shape that is a cylindrical volume defined as a circular area of a defined length. The enclosed area shall be as defined by a circle with a specified radius.
NOTE This definition has been harmonized with the equivalent definition in ISO 10303-224.
*) ENTITY cylindrical_shape_representation SUBTYPE OF (shape_representation_with_parameters); WHERE WR1: (SIZEOF(SELF.items) = 3); WR2: (SIZEOF(QUERY ( it <* SELF.items | (( 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1); WR3: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1); WR4: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1); END_ENTITY; -- cylindrical_shape_representation (*
WR1: The cylindrical_shape_representation shall contain exactly three representation_items in its set of items.
WR2: One of the representation_items used for the implicit representation of a cylindrical_shape_representation shall be of type placement with a name of 'orientation'.
WR3: One of the representation_items used for the implicit representation of a cylindrical_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'length'.
WR4: One of the representation_items used for the implicit representation of a cylindrical_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'diameter'.
IP1: The location of the cylindrical_shape_representation shall be defined to be at the centre of the circle that defines the cylinder.
IP2: The cylindrical_shape_representation shall be definied by forming a circular profile in the X-Y plane, and the length along the z direction.
A drilling_operation is a type of drilling_type_operation that represents the details of a machining step in which in which material is removed perpendicular to the cutting tool axis. See the ARM definitions for Drilling_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY drilling_operation SUBTYPE OF (drilling_type_operation); WHERE WR1: (SELF.description IN ['drilling','counter sinking', 'center drilling', 'multistep drilling']); WR2: NOT (SELF.description = 'multistep drilling') OR ((verify_required_action_property (SELF, 'retract distance')) AND (verify_length_measure_action_property (SELF, 'retract distance')) AND (verify_required_action_property (SELF, 'first depth')) AND (verify_length_measure_action_property (SELF, 'first depth')) AND (verify_required_action_property (SELF, 'depth of step')) AND (verify_length_measure_action_property (SELF, 'depth of step')) AND (verify_optional_action_property (SELF, 'dwell time step')) AND (verify_rep_type_for_action_property (SELF, 'dwell time step', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_DWELL_TIME_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'dwell time step', ['dwell time'])) ); END_ENTITY; (*
WR1: The description of the drilling_operation shall be either 'drilling','counter sinking', 'center drilling', or 'multistep drilling'.
WR2: If the description of the drilling_operation is 'multistep drilling', drilling_operation shall satisfy the following conditions:
A drilling_type_operation is a type of machining_operation that represents the details of a machining step in which the machine axes are generally only moved parallel to the axis of rotation of the cutting tool. See the ARM definitions for Drilling_type_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY drilling_type_operation SUBTYPE OF (machining_operation); WHERE WR1: (verify_optional_action_property (SELF, 'overcut length')) AND (verify_length_measure_action_property (SELF, 'overcut length')); WR2: (verify_optional_action_property (SELF, 'cutting depth')) AND (verify_length_measure_action_property (SELF, 'cutting depth')); WR3: (verify_optional_action_property (SELF, 'previous diameter')) AND (verify_length_measure_action_property (SELF, 'previous diameter')); WR4: (verify_optional_action_property (SELF, 'dwell time bottom')) AND (verify_rep_type_for_action_property (SELF, 'dwell time bottom', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_DWELL_TIME_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'dwell time bottom', ['dwell time'])); WR5: (verify_optional_action_property (SELF, 'feedrate on retract')) AND (verify_rep_type_for_action_property (SELF, 'feedrate on retract', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'feedrate on retract', ['relative speed'])); WR6: ((verify_optional_relating_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DRILLING_TYPE_STRATEGY'])) ); END_ENTITY; (*
WR1: The drilling_type_operation shall be the definition of at most one action_property with a name of 'overcut length', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR2: The drilling_type_operation shall be the definition of at most one action_property with a name of 'cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: The drilling_type_operation shall be the definition of at most one action_property with a name of 'previous diameter', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: The drilling_type_operation shall be the definition of at most one action_property with a name of 'dwell time bottom', and the representation used to describe the action_property shall be of type machining_dwell_time_representation with a description of 'dwell time'.
WR5: The drilling_type_operation shall be the definition of at most one action_property with a name of 'feedrate on retract', and the representation used to describe the action_property shall be of type machining_feed_speed_representation with a description of 'relative speed'.
WR6: The drilling_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'machining', in which the related_method shall be of type drilling_type_strategy.
A drilling_type_strategy is a type of machining_strategy that represents the approach used to determine the motion of the cutting tool during a drilling operation. See the ARM definition for Drilling_type_strategy in ISO 14649-11 for more information.
*) ENTITY drilling_type_strategy SUBTYPE OF (machining_strategy); WHERE WR1: (verify_optional_action_property (SELF, 'reduced cut at start')) AND (verify_rep_type_for_action_property(SELF, 'reduced cut at start', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_SPINDLE_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property(SELF, 'reduced cut at start', ['relative speed'])); WR2: (verify_optional_action_property(SELF, 'reduced feedrate at start')) AND (verify_rep_type_for_action_property(SELF, 'reduced feedrate at start', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property(SELF, 'reduced feedrate at start', ['relative speed'])); WR3: (verify_optional_action_property (SELF, 'depth of start')) AND (verify_length_measure_action_property (SELF, 'depth of start')); WR4: (verify_optional_action_property (SELF, 'reduced cut at end')) AND (verify_rep_type_for_action_property (SELF, 'reduced cut at end', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_SPINDLE_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'reduced cut at end', ['relative speed'])); WR5: (verify_optional_action_property (SELF, 'reduced feedrate at end')) AND (verify_rep_type_for_action_property(SELF, 'reduced feedrate at end', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property(SELF, 'reduced feedrate at end', ['relative speed'])); WR6: (verify_optional_action_property (SELF, 'depth of end')) AND (verify_length_measure_action_property (SELF, 'depth of end')); WR7: (verify_required_action_property (SELF, 'depth of start')) OR ((0 = SIZEOF (get_action_property (SELF, 'reduced cut at start'))) AND (0 = SIZEOF (get_action_property (SELF, 'reduced feedrate at start')))); WR8: (verify_required_action_property (SELF, 'depth of end')) OR ((0 = SIZEOF (get_action_property (SELF, 'reduced cut at end'))) AND (0 = SIZEOF (get_action_property (SELF, 'reduced feedrate at end')))); END_ENTITY; (*
WR1: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'reduced cut at start', and the representation used to describe the action_property shall be of type machining_spindle_speed_representation with a description of 'relative speed'.
WR2: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'reduced feedrate at start', and the representation used to describe the action_property shall be of type machining_feed_speed_representation with a description of 'relative speed'.
WR3: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'depth of start', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'reduced cut at end', and the representation used to describe the action_property shall be of type machining_spindle_speed_representation with a description of 'relative speed'.
WR5: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'reduced feedrate at end', and the representation used to describe the action_property shall be of type machining_feed_speed_representation with a description of 'relative speed'.
WR6: The drilling_type_strategy shall be the definition of at most one action_property with a name of 'depth of end', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR7: Either the drilling_type_strategy shall be the definition of exactly one action_property with a name of 'depth of start', or the drilling_type_strategy shall be the definition of no action_properties with a name of either 'reduced cut at start' or 'reduced feedrate at start'.
NOTE This corresponds to local constraint WR1 on ARM entity Drilling_type_strategy in ISO 14649-11.
WR8: Either the drilling_type_strategy shall be the definition of exactly one action_property with a name of 'depth of end', or the drilling_type_strategy shall be the definition of no action_properties with a name of either 'reduced cut at end' or 'reduced feedrate at end'.
NOTE This corresponds to local constraint WR2 on ARM entity Drilling_type_strategy in ISO 14649-11.
An expression_representation_item is a representation_item and generic_expression where a particular expression value is represented.
NOTEThis definition is no longer used but has been retained for compatibility with data sets created under previous editions. All mapping specifications have been changed to use the expression_item_representation_item definition in ISO 10303-61.
*) ENTITY expression_representation_item SUBTYPE OF (representation_item, generic_expression); END_ENTITY; (*
An extended_type_operation is a type of machining_operation that represents the details of a manufacturing step of a machining process that is not described by other capabilities of this document.
*) ENTITY extended_type_operation SUBTYPE OF (machining_operation); WHERE WR1: EXISTS (self.description); END_ENTITY; (*
WR1: The description of the extended_type_operation shall have a value.
An externally_defined_representation_with_parameters is a type of representation that defines placement and orientation for an external reference.
NOTE This definition has been harmonized with the equivalent definitions in ISO 10303-224 and ISO 10303-240.
*) ENTITY externally_defined_representation_with_parameters SUBTYPE OF (representation); WHERE WR1: (SIZEOF(USEDIN(SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS')) = 1); WR2: (SIZEOF (QUERY(adr <* SELF.items| 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLACEMENT' IN TYPEOF(adr))) <=1); END_ENTITY; (*
WR1: The externally_defined_representation_with_parameters shall be referenced by the items set of exactly one applied_classification_assignment.
WR2: The externally_defined_representation_with_parameters items set shall contain at most one placement instance.
A facing_turning_operation is a turning_type_operation. See the ARM definitions for Facing and subtypes in ISO 14649-12 for more information.
*) ENTITY facing_turning_operation SUBTYPE OF (turning_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'allowance')) AND (verify_length_measure_action_property (SELF, 'allowance')); WR3: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance')); END_ENTITY; (*
WR1: The description of the facing_turning_operation shall be either 'roughing' or 'finishing'.
WR2: The facing_turning_operation shall be the definition of at most one action_property with a name of 'allowance', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: If the description of the facing_turning_operation is 'cutting in', the facing_turning_operation shall be the definition of exactly one action_property with a name of 'allowance'.
NOTE This corresponds to local constraints WR1 on the ARM entity Facing_rough in ISO 14649-12.
A freeform_milling_operation is a milling_type_operation that describes a milling step in which material is removed to create freeform surface geometry. See the ARM definition for Freeform_milling_operation in ISO 14649-11 for more information.
*) ENTITY freeform_milling_operation SUBTYPE OF (milling_type_operation); WHERE WR1: ((verify_optional_relating_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.FREEFORM_MILLING_STRATEGY'])) ); END_ENTITY; (*
WR1: The freeform_milling_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'machining', in which the related_method shall be of type freeform_milling_strategy.
A freeform_milling_strategy is a type of milling_type_strategy that represents the approach used to determine the motion of the cutting tool during a freeform milling operation. See the ARM definitions for Freeform_strategy and subtypes in ISO 14649-11 for more information.
*) ENTITY freeform_milling_strategy SUBTYPE OF (milling_type_strategy); WHERE WR1: NOT (SELF.description IN ['leading line', 'plane cutter contact', 'plane cutter location', 'uv']) OR ((verify_required_action_property (SELF, 'pathmode')) AND (verify_enumeration_action_property (SELF, 'pathmode', ['forward', 'zigzag'])) AND (verify_required_action_property (SELF, 'cutmode')) AND (verify_enumeration_action_property (SELF, 'cutmode', ['climb', 'conventional'])) AND (verify_required_action_property (SELF, 'milling tolerances')) AND (verify_rep_type_for_action_property(SELF, 'milling tolerances', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.FREEFORM_MILLING_TOLERANCE_REPRESENTATION'])) AND (verify_optional_action_property (SELF, 'stepover length')) AND (verify_length_measure_action_property (SELF, 'stepover length')) ); WR2: NOT (SELF.description = 'leading line') OR ((verify_required_action_property (SELF, 'leading line')) AND (verify_rep_item_for_action_property (SELF, 'leading line', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) ); WR3: NOT (SELF.description IN ['plane cutter contact', 'plane cutter location']) OR ((verify_required_action_property (SELF, 'plane normal')) AND (verify_rep_item_for_action_property (SELF, 'plane normal', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) ); WR4: NOT (SELF.description = 'uv') OR ((verify_required_action_property (SELF, 'forward direction')) AND (verify_rep_item_for_action_property (SELF, 'forward direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_required_action_property (SELF, 'sideward direction')) AND (verify_rep_item_for_action_property (SELF, 'sideward direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) ); END_ENTITY; (*
WR1: If the description of the freeform_milling_strategy is either 'leading line', 'plane cutter contact', 'plane cutter location', or 'uv', the freeform_milling_strategy shall satisfy the following conditions:
WR2: If the description of the freeform_milling_strategy is 'leading line', the freeform_milling_strategy shall be the definition of exactly one action_property with a name of 'leading line', and the representation used to describe the action_property shall contain a representation_item of type bounded_curve.
WR3: If the description of the freeform_milling_strategy is either 'plane cutter contact' or 'plane cutter location', the freeform_milling_strategy shall be the definition of exactly one action_property with a name of 'plane normal', and the representation used to describe the action_property shall contain a representation_item of type direction.
WR4: If the description of the freeform_milling_strategy is 'uv', the freeform_milling_strategy shall satisfy the following conditions:
A freeform_milling_tolerance_representation is a type of representation that represents surface approximation tolerance parameters for freeform machining. See the ARM definition for Tolerances in ISO 14649-11 for more information.
*) ENTITY freeform_milling_tolerance_representation SUBTYPE OF (representation); WHERE WR1: (verify_required_rep_item (SELF, 'chordal tolerance')) AND (verify_length_measure_rep_item (SELF, 'chordal tolerance')); WR2: (verify_required_rep_item (SELF, 'scallop height')) AND (verify_length_measure_rep_item (SELF, 'scallop height')); END_ENTITY; (*
WR1: The items set shall contain exactly one representation_item with a name of 'chordal tolerance', which shall be of type measure_representation_item and length_measure_with_unit .
WR2: The items set shall contain exactly one representation_item with a name of 'scallop height', which shall be of type measure_representation_item and length_measure_with_unit .
A grooving_turning_operation is a turning_type_operation. See the ARM definitions for Grooving and subtypes in ISO 14649-12 for more information.
*) ENTITY grooving_turning_operation SUBTYPE OF (turning_type_operation); WHERE WR1: (SELF.description IN ['roughing', 'finishing', 'cutting in']); WR2: (verify_optional_action_property (SELF, 'dwell')) AND (verify_rep_type_for_action_property (SELF, 'dwell', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_DWELL_TIME_REPRESENTATION'])); WR3: (verify_optional_action_property (SELF, 'allowance')) AND (verify_length_measure_action_property (SELF, 'allowance')); -- allowance propery required for roughing WR4: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance')); -- allowance propery forbidden for cutting in WR5: NOT (SELF.description = 'cutting in') OR (0 = SIZEOF (get_action_property (SELF, 'allowance'))); END_ENTITY; (*
WR1: The description of the grooving_turning_operation shall be either 'roughing', 'finishing' or 'cutting in'.
WR2: The grooving_turning_operation shall be the definition of at most one action_property with a name of 'dwell', and the representation used to describe the action_property shall be of type turning_dwell_time_representation.
WR3: The grooving_turning_operation shall be the definition of at most one action_property with a name of 'allowance', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: If the description of the grooving_turning_operation is 'roughing', the grooving_turning_operation shall be the definition of exactly one action_property with a name of 'allowance'.
NOTE This corresponds to local constraints WR1 on the ARM entity Grooving_rough in ISO 14649-12.
WR5: If the description of the grooving_turning_operation is 'cutting in', the grooving_turning_operation shall be the definition of no action_property with a name of 'allowance'.
NOTE This corresponds to local constraints WR1 on the ARM entity Cutting_in in ISO 14649-12.
A knurling_turning_operation is a turning_type_operation. See the ARM definitions for Knurling in ISO 14649-12 for more information.
*) ENTITY knurling_turning_operation SUBTYPE OF (turning_type_operation); END_ENTITY; (*
A machining_adaptive_control_relationship is a type of action_method_relationship that represents the use of an Adaptive_control description in some context. See the ARM definitions for the Technology subtypes in ISO 14649-11 and ISO 14649-12 for more information.
*) ENTITY machining_adaptive_control_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_approach_retract_strategy is a type of machining_strategy that represents the manner in which a cutting tool approaches the workpiece at the beginning of a machining process step or retracts from the workpiece at the end of a machining process step. See the ARM definitions for Approach_retract_strategy and subtypes in ISO 14649-11 for more information.
*) ENTITY machining_approach_retract_strategy SUBTYPE OF (machining_strategy); WHERE WR1: (SELF.description IN ['along path', 'approach retract angle', 'approach retract tangent', 'plunge helix', 'plunge ramp', 'plunge toolaxis', 'plunge zigzag']); WR2: (verify_optional_action_property (SELF, 'tool orientation')) AND (verify_rep_item_for_action_property (SELF, 'tool orientation', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])); WR3: NOT (SELF.description = 'along path') OR ((1 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOLPATH_SEQUENCE_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOLPATH_SEQUENCE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOLPATH'])) ); WR4: NOT (SELF.description = 'approach retract angle') OR ((verify_required_action_property (SELF, 'travel angle')) AND (verify_angle_measure_action_property (SELF, 'travel angle')) AND (verify_required_action_property (SELF, 'travel length')) AND (verify_length_measure_action_property (SELF, 'travel length'))); WR5: NOT (SELF.description = 'approach retract tangent') OR ((verify_required_action_property (SELF, 'travel radius')) AND (verify_length_measure_action_property (SELF, 'travel radius'))); WR6: NOT (SELF.description IN ['plunge helix', 'plunge ramp', 'plunge zigzag']) OR ((verify_required_action_property (SELF, 'plunge angle')) AND (verify_angle_measure_action_property (SELF, 'plunge angle'))); WR7: NOT (SELF.description = 'plunge helix') OR ((verify_required_action_property (SELF, 'plunge radius')) AND (verify_length_measure_action_property (SELF, 'plunge radius'))); WR8: NOT (SELF.description = 'plunge zigzag') OR ((verify_required_action_property (SELF, 'plunge width')) AND (verify_length_measure_action_property (SELF, 'plunge width'))); END_ENTITY; (*
WR1: The description of the machining_approach_retract_strategy shall be either 'along path', 'approach retract angle', 'approach retract tangent', 'plunge helix', 'plunge ramp', 'plunge toolaxis', or 'plunge zigzag'.
WR2: The machining_approach_retract_strategy shall be the definition of at most one action_property with a name of 'tool orientation', and the representation used to describe the action_property shall contain a representation_item of type direction.
WR3: If the description of the machining_approach_retract_strategy is 'along path', the machining_approach_retract_strategy shall be the relating_method of at least one machining_toolpath_sequence_relationship, in which related_method is of type machining_toolpath.
WR4: If the description of the machining_approach_retract_strategy is 'approach retract angle', the machining_approach_retract_strategy shall satisfy the following conditions:
WR5: If the description of the machining_approach_retract_strategy is 'approach retract tangent', the machining_approach_retract_strategy shall be the definition of exactly one action_property with a name of 'travel radius', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR6: If the description of the machining_approach_retract_strategy is either 'plunge helix', 'plunge ramp', or 'plunge zigzag', the machining_approach_retract_strategy shall be the definition of exactly one action_property with a name of 'plunge angle', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and plane_angle_measure_with_unit.
WR7: If the description of the machining_approach_retract_strategy is 'plunge helix', the machining_approach_retract_strategy shall be the definition of exactly one action_property with a name of 'plunge radius', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR8: If the description of the machining_approach_retract_strategy is 'plunge zigzag', the machining_approach_retract_strategy shall be the definition of exactly one action_property with a name of 'plunge width', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
A machining_cutting_component is a type of action_resource and characterized_object that represents the cutting edge characteristics of a tool for machining. See the ARM definitions for Cutting_component in ISO 14649-111 and Cutting_edge_properties in ISO 14649-121 for more information.
*) ENTITY machining_cutting_component SUBTYPE OF (action_resource,characterized_object); WHERE WR1: (1 >= SIZEOF (USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'MATERIAL_DESIGNATION.DEFINITIONS'))); WR2: (1 >= SIZEOF (QUERY (arr <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES') | (arr.kind.name = 'cutting component') AND (0 < SIZEOF (QUERY (mt <* arr.operations | 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY' IN TYPEOF (mt)))) ))); WR3: (verify_optional_resource_property (SELF, 'expected life')) AND (verify_time_measure_resource_property (SELF, 'expected life')); WR4: NOT (SELF.kind.name = 'milling cutting edge') OR ((verify_required_resource_property (SELF, 'functional length')) AND (verify_length_measure_resource_property (SELF, 'functional length')) ); WR5: NOT (SELF.kind.name = 'turning cutting edge') OR ((verify_optional_resource_property (SELF, 'cutting edge length')) AND (verify_length_measure_resource_property (SELF, 'cutting edge length')) AND (verify_optional_resource_property (SELF, 'cutting edge angle')) AND (verify_angle_measure_resource_property (SELF, 'cutting edge angle')) AND (verify_optional_resource_property (SELF, 'cutting edge angle type')) AND (verify_rep_item_for_resource_property (SELF, 'cutting edge angle type', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])) AND (verify_optional_resource_property (SELF, 'tool included angle')) AND (verify_angle_measure_resource_property (SELF, 'tool included angle')) AND (verify_rep_type_for_resource_property (SELF, 'corner transitions', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'MACHINING_CUTTING_CORNER_REPRESENTATION'])) AND (verify_optional_resource_property (SELF, 'maximum side cutting depth')) AND (verify_length_measure_resource_property (SELF, 'maximum side cutting depth')) AND (verify_optional_resource_property (SELF, 'maximum end cutting depth')) AND (verify_length_measure_resource_property (SELF, 'maximum end cutting depth')) ); END_ENTITY; (*
WR1: The machining_cutting_component appears in the set of definitions of at most one material_designation.
WR2: The machining_cutting_component appears in the set of resources in at least one action_resource_requirement in which the resource_requirement_type has a name of 'cutting component' and the set of operations contains exactly one machining_technology
WR3: The machining_cutting_component is the resource of at most one resource_property with a name of 'expected life', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item and time_measure_with_unit.
WR4: If the kind of the machining_cutting_component is an action_resource_type with a name of 'milling cutting edge', the machining_cutting_component shall satisfy the following conditions:
WR5: If the kind of the machining_cutting_component is an action_resource_type with a name of 'turning cutting edge', the machining_cutting_component shall satisfy the following conditions:
A machining_cutting_corner_representation is a type of representation that represents the corner transitions of a cutting edge of a tool for machining. See the ARM definition for Corner_transition in ISO 14649-12 for more information.
*) ENTITY machining_cutting_corner_representation SUBTYPE OF (representation); WHERE WR1: ((verify_required_rep_item (SELF, 'corner identity')) AND (verify_count_measure_rep_item (SELF, 'corner identity')) ); WR2: NOT (SELF.name = 'chamfered corner') OR ((verify_required_rep_item (SELF, 'chamfer angle')) AND (verify_angle_measure_rep_item (SELF, 'chamfer angle')) AND (verify_optional_rep_item (SELF, 'chamfer length')) AND (verify_length_measure_rep_item (SELF, 'chamfer length')) AND (verify_optional_rep_item (SELF, 'chamfer width')) AND (verify_length_measure_rep_item (SELF, 'chamfer width')) ); WR3: NOT (SELF.name = 'rounded corner') OR ((verify_required_rep_item (SELF, 'radius')) AND (verify_length_measure_rep_item (SELF, 'radius')) ); WR4: NOT (SELF.name = 'profiled corner') OR (1 = SIZEOF (QUERY (prep <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LINEAR_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.OPEN_PATH_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ROUNDED_U_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.SQUARE_U_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TEE_PROFILE' IN TYPEOF(prep.definition)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.VEE_PROFILE' IN TYPEOF(prep.definition))) ))); END_ENTITY; (*
WR1: The items set shall contain exactly one representation_item with a name of 'corner identity', which shall be of type type measure_representation_item with a value_component of type count_measure.
WR2: If the name of the machining_cutting_corner_representation is 'chamfered corner', the items set shall contain the following items:
WR3: If the name of the machining_cutting_corner_representation is 'rounded corner', the items set shall contain exactly one representation_item with a name of 'radius', which shall be of type measure_representation_item and length_measure_with_unit;
WR4: If the name of the machining_cutting_corner_representation is 'profiled corner', the machining_cutting_corner_representation shall be the used_representation of exactly one property_definition_representation in which the definition refers to a shape_aspect which shall be of type linear_profile, open_path_profile, partial_circular_profile, rounded_u_profile, square_u_profile, tee_profile, or vee_profile.
A machining_dwell_time_representation is a type of representation that represents the duration of time that a machine tool perfoms some action. The dwell time is described as one of the following:
*) ENTITY machining_dwell_time_representation SUBTYPE OF (representation); WHERE WR1: (SELF.name IN ['dwell time', 'dwell revolution']); WR2: NOT (SELF.name = 'dwell time') OR ((verify_required_rep_item (SELF, 'dwell time')) AND (verify_time_measure_rep_item (SELF, 'dwell time')) ); WR3: NOT (SELF.name = 'dwell revolution') OR ((verify_required_rep_item (SELF, 'dwell revolution')) AND (verify_count_measure_rep_item (SELF, 'dwell revolution')) ); END_ENTITY; (*
WR1: The name of the machining_dwell_time_representation shall be either 'dwell time' or 'dwell revolution'.
WR2: If the name of the machining_dwell_time_representation is 'dwell time', the items set shall contain exactly one representation_item with a name of 'dwell time', which shall be of type measure_representation_item and time_measure_with_unit.
WR3: If the name of the machining_dwell_time_representation is 'dwell revolution', the items set shall contain exactly one representation_item with a name of 'dwell revolution', which shall be of type measure_representation_item with a value_component of type count_measure.
A machining_execution_resource is a type of action_resource that represents machine tool capability requirements for machining. See the ARM definition for Machine_parameters for more information.
*) ENTITY machining_execution_resource SUBTYPE OF (action_resource); WHERE WR1: ((verify_optional_resource_property (SELF, 'feedrate')) AND (verify_rep_type_for_resource_property (SELF, 'feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION']))); WR2: ((verify_optional_resource_property (SELF, 'spindle')) AND (verify_rep_type_for_resource_property (SELF, 'spindle', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_SPINDLE_SPEED_REPRESENTATION']))); WR3: ((verify_optional_resource_property (SELF, 'spindle power')) AND (verify_rep_item_for_resource_property (SELF, 'spindle power', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM']))); WR4: ((verify_optional_resource_property (SELF, 'spindle torque')) AND (verify_rep_item_for_resource_property (SELF, 'spindle torque', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM']))); WR5: ((verify_optional_resource_property (SELF, 'number of control axis')) AND (verify_count_measure_resource_property (SELF, 'number of control axis'))); WR6: ((verify_optional_resource_property (SELF, 'number of simultaneous axis')) AND (verify_count_measure_resource_property (SELF, 'number of simultaneous axis'))); WR7: ((verify_optional_resource_property (SELF, 'positioning accuracy')) AND (verify_length_measure_resource_property (SELF, 'positioning accuracy'))); WR8: ((verify_optional_resource_property (SELF, 'table indexing')) AND (verify_enumeration_resource_property (SELF, 'table indexing', ['required', 'not required']))); WR9: ((verify_optional_resource_property (SELF, 'table length')) AND (verify_length_measure_resource_property (SELF, 'table length')) AND (verify_optional_resource_property (SELF, 'table width')) AND (verify_length_measure_resource_property (SELF, 'table width'))); WR10: ((verify_optional_resource_property (SELF, 'axis travel')) AND (0 = SIZEOF (QUERY (prop <* get_resource_property (SELF, 'axis travel') | NOT ((0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.RESOURCE_PROPERTY_REPRESENTATION.PROPERTY') | (1 <= SIZEOF (QUERY ( it <* prep.representation.items | (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)))) )))) )))); WR11: ((verify_optional_resource_property (SELF, 'work volume length')) AND (verify_length_measure_resource_property (SELF, 'work volume length')) AND (verify_optional_resource_property (SELF, 'work volume width')) AND (verify_length_measure_resource_property (SELF, 'work volume width')) AND (verify_optional_resource_property (SELF, 'work volume height')) AND (verify_length_measure_resource_property (SELF, 'work volume height')) ); WR12: (0 = SIZEOF (get_action_property (SELF, 'axis travel'))) OR ((0 = SIZEOF (get_action_property (SELF, 'work volume length'))) AND (0 = SIZEOF (get_action_property (SELF, 'work volume width'))) AND (0 = SIZEOF (get_action_property (SELF, 'work volume height')))); END_ENTITY; (*
WR1: The machining_execution_resource is the resource of at most one resource_property with a name of 'feedrate', and the representation used to describe the resource_property shall be of type machining_feed_speed_representation.
WR2: The machining_execution_resource is the resource of at most one resource_property with a name of 'spindle', and the representation used to describe the resource_property shall be of type machining_spindle_speed_representation.
WR3: The machining_execution_resource is the resource of at most one resource_property with a name of 'spindle power', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item.
WR4: The machining_execution_resource is the resource of at most one resource_property with a name of 'spindle torque', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item.
WR5: The machining_execution_resource is the resource of at most one resource_property with a name of 'number of control axis', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item in which the value_component is of type count_measure.
WR6: The machining_execution_resource is the resource of at most one resource_property with a name of 'number of simultaneous axis', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item in which the value_component is of type count_measure.
WR7: The machining_execution_resource is the resource of at most one resource_property with a name of 'positioning accuracy', and the representation used to describe the resource_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR8: The machining_execution_resource is the resource of at most one resource_property with a name of 'table indexing', and the representation used to describe the resource_property shall contain a representation_item of type descriptive_representation_item with a description of 'required' or 'not required'.
WR9: The machining_execution_resource shall satisfy the following conditions:
WR10: The machining_execution_resource is the resource of at most one resource_property with a name of 'axis travel', and the representation used to describe the resource_property shall contain at least one representation_item of type measure_representation_item and length_measure_with_unit.
WR11: The machining_execution_resource shall satisfy the following conditions:
WR12: The machining_execution_resource is the resource of no resource_property with a name of 'axis travel', or else the machining_execution_resource is the resource of no resource_property with a name of 'work volume length', 'work volume width', or 'work volume height'.
A machining_feature_process is a type of machining_process_executable that represents a set of steps in a machining process that result in a manufacturing feature. See the ARM definition for Manufacturing_feature in ISO 14649-10 for more information.
*) ENTITY machining_feature_process SUBTYPE OF (machining_process_executable); WHERE WR1: (1 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'machining')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'machining') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PROPERTY_PROCESS' IN TYPEOF (act)) ))); END_ENTITY; (*
WR1: The machining_feature_process shall be the chosen_method of exactly one property_process with a name of 'machining'.
A machining_feature_relationship is a type of action_method_relationship that represents use of a feature as the manufacturing target of a workingstep. See the ARM definitions for Workingstep and Turning_workingstep in ISO 14649-10 and ISO 14649-12 for more information.
*) ENTITY machining_feature_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_feature_sequence_relationship is a type of machining_feature_relationship and sequential_method that represents use of a feature as an element of a sequence of manufacturing targets of a workingstep. See the ARM definition for Turning_workingstep in ISO 14649-12 for more information.
*) ENTITY machining_feature_sequence_relationship SUBTYPE OF (machining_feature_relationship, sequential_method); END_ENTITY; (*
A machining_feed_speed_representation is a type of representation that represents the speed at which a tool is moved through material. The feed speed is described as one of the following:
*) ENTITY machining_feed_speed_representation SUBTYPE OF (representation); WHERE WR1: (SELF.name IN ['feed speed', 'feed per revolution', 'feed per tooth', 'relative speed']); WR2: NOT (SELF.name = 'feed speed') OR ((verify_required_rep_item (SELF, 'feed speed')) AND (verify_linear_speed_measure_rep_item (SELF, 'feed speed')) ); WR3: NOT (SELF.name = 'feed per revolution') OR ((verify_required_rep_item (SELF, 'feed per revolution')) AND (0 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'feed per revolution') AND NOT ( 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it))))) ); WR4: NOT (SELF.name = 'feed per tooth') OR ((verify_required_rep_item (SELF, 'feed per tooth')) AND (0 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'feed per tooth') AND NOT ( 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it))))) ); WR5: NOT (SELF.name = 'relative speed') OR ((verify_required_rep_item (SELF, 'relative speed')) AND (verify_ratio_measure_rep_item (SELF, 'relative speed')) ); END_ENTITY; (*
WR1: The name of the machining_feed_speed_representation shall be either 'feed speed', 'feed per revolution', 'feed per tooth', or 'relative speed'.
WR2: If the name of the machining_feed_speed_representation is 'feed speed', the items set shall contain exactly one representation_item with a name of 'feed speed', which shall be of type measure_representation_item with a value_component of type numeric_measure.
WR3: If the name of the machining_feed_speed_representation is 'feed per revolution', the items set shall contain exactly one representation_item with a name of 'feed per revolution', which shall be of type measure_representation_item .
WR4: If the name of the machining_feed_speed_representation is 'feed per tooth', the items set shall contain exactly one representation_item with a name of 'feed per tooth', which shall be of type measure_representation_item.
WR5: If the name of the machining_feed_speed_representation is 'relative speed', the items set shall contain exactly one representation_item with a name of 'relative speed', which shall be of type measure_representation_item and ratio_measure_with_unit.
A machining_final_feature_relationship is a type of action_method_relationship that represents a feature visible on the final form of the workpiece that a workingstep may not manufacture directly, but in some way contributes to the creation of. See Machining_workingstep final_features for more information.
*) ENTITY machining_final_feature_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_fixture_usage is a type of action_method that represents fixture usage to satisfy requirements for machining. See the ARM definition for Tool_usage for more information.
*) ENTITY machining_fixture_usage SUBTYPE OF (action_method); WR1: (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'fixture workpiece')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'fixture workpiece') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act)) ))); WR2: ((verify_optional_action_property (SELF, 'mount reference')) AND (verify_rep_item_for_action_property (SELF, 'mount reference', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); WR3: ((verify_optional_action_property (SELF, 'workpiece reference')) AND (verify_rep_item_for_action_property (SELF, 'workpiece reference', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); END_ENTITY; (*
WR1: The machining_fixture_usage shall be the chosen_method of at most one product_definition_process with a name of 'fixture workpiece'.
WR2: The machining_fixture_usage shall shall be the definition of at most one action_property with a name of 'mount reference', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
WR3: The machining_fixture_usage shall shall be the definition of at most one action_property with a name of 'workpiece reference', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
A machining_functions instance is a type of action_method that represents settings on the machine tool which is to execute a machining process. See the ARM definitions for Machine_functions in ISO 14649-10, Milling_machine_functions in ISO 14649-11, and Turning_machine_functions in ISO 14649-12 for more information.
*) ENTITY machining_functions SUBTYPE OF (action_method); WHERE WR1: NOT (SELF.description = 'milling') OR ((verify_required_action_property (SELF, 'coolant')) AND (verify_enumeration_action_property (SELF, 'coolant', ['coolant on', 'coolant off'])) AND (verify_optional_action_property (SELF, 'coolant pressure')) AND (verify_pressure_measure_action_property (SELF, 'coolant pressure')) AND (verify_optional_action_property (SELF, 'mist')) AND (verify_enumeration_action_property (SELF, 'mist', ['mist on', 'mist off'])) AND (verify_optional_action_property (SELF, 'through spindle coolant')) AND (verify_enumeration_action_property (SELF, 'through spindle coolant', ['through spindle coolant on', 'through spindle coolant off'])) AND (verify_optional_action_property (SELF, 'through spindle pressure')) AND (verify_pressure_measure_action_property (SELF, 'through spindle pressure')) AND -- axis constraints property must contain zero or more ranges (0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'axis constraints') | NOT ((0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (0 <= SIZEOF (QUERY (it <* prep.representation.items | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.VALUE_RANGE' in TYPEOF(it))))) ))))))) ); WR2: NOT (SELF.description = 'turning') OR ((verify_required_action_property (SELF, 'coolant')) AND (verify_enumeration_action_property (SELF, 'coolant', ['coolant on', 'coolant off'])) AND (verify_optional_action_property (SELF, 'coolant type')) AND (verify_enumeration_action_property (SELF, 'coolant type', ['flood', 'mist', 'through tool'])) AND (verify_optional_action_property (SELF, 'coolant pressure')) AND (verify_pressure_measure_action_property (SELF, 'coolant pressure')) AND (verify_optional_action_property (SELF, 'tail stock')) AND (verify_enumeration_action_property (SELF, 'tail stock', ['tail stock used', 'tail stock not used'])) AND (verify_optional_action_property (SELF, 'steady rest')) AND (verify_enumeration_action_property (SELF, 'steady rest', ['steady rest used', 'steady rest not used'])) AND (verify_optional_action_property (SELF, 'follow rest')) AND (verify_enumeration_action_property (SELF, 'follow rest', ['follow rest used', 'follow rest not used'])) ); WR3: NOT (SELF.description IN ['milling', 'turning']) OR ((verify_optional_action_property (SELF, 'axis clamping')) AND (0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'axis clamping') | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (1 = SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LIST_REPRESENTATION_ITEM' IN TYPEOF(it.item_element)) AND (0 = SIZEOF (QUERY (ie <* it.item_element | NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(ie)) ))) )))) ))) ))) AND (verify_optional_action_property (SELF, 'chip removal')) AND (verify_enumeration_action_property (SELF, 'chip removal', ['chip removal on', 'chip removal off'])) AND (verify_optional_action_property (SELF, 'oriented spindle stop')) AND (verify_rep_item_for_action_property (SELF, 'oriented spindle stop', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_MODEL_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_MODEL'])) ); WR4: (verify_optional_action_property (SELF, 'other functions')); END_ENTITY; (*
WR1: If the description of the machining_functions is 'milling', the machining_functions shall satisfy the following conditions:
WR2: If the description of the machining_functions is 'turning', the machining_functions shall satisfy the following conditions:
WR3: If the description of the machining_functions is either 'milling' or 'turning', the machining_functions shall satisfy the following conditions:
WR4: The machining_functions shall be the definition of at most one action_property with a name of 'other functions'.
A machining_functions_relationship is a type of action_method_relationship that represents use of a Machine_functions description in some context. See the ARM definitions for Operation, Toolpath and their subtypes in ISO 14649-10, ISO 14649-11 and ISO 14649-12 for more information.
*) ENTITY machining_functions_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_machine_usage is a type of action_method that represents machine usage to satisfy requirements for machining. See the ARM definition for Machine_usage for more information.
*) ENTITY machining_machine_usage SUBTYPE OF (action_method); WHERE WR1: (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'machine usage')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'machine usage') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act)) ))); END_ENTITY; (*
WR1: The machining_machine_usage shall be the chosen_method of at most one product_definition_process with a name of 'machine usage'.
A machining_nc_function is a type of machining_process_executable that represents a step in a machining process. See the ARM definitions for NC_function and subtypes in ISO 14649-10 and ISO 14649-11 for more information.
*) ENTITY machining_nc_function SUBTYPE OF (machining_process_executable); WHERE WR1: (SELF.description IN ['display message', 'optional stop', 'program stop', 'set mark', 'wait for mark', 'exchange pallet', 'index pallet', 'load tool', 'unload tool', 'legacy function']); WR2: NOT (SELF.description = 'display message') OR ((verify_required_action_property (SELF, 'message text')) AND (verify_descriptive_action_property (SELF, 'message text'))); WR3: NOT (SELF.description = 'wait for mark') OR ((verify_required_action_property (SELF, 'channel'))); WR4: NOT (SELF.description = 'index pallet') OR ((verify_required_action_property (SELF, 'pallet index')) AND (verify_count_measure_action_property (SELF, 'pallet index'))); WR5: NOT (SELF.description = 'index table') OR ((verify_required_action_property (SELF, 'table index')) AND (verify_count_measure_action_property (SELF, 'table index'))); WR6: NOT (SELF.description = 'load tool') OR (1 = SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))); WR7: NOT (SELF.description = 'unload tool') OR (1 >= SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))); WR8: NOT (SELF.description = 'legacy function') OR ((verify_required_action_property (SELF, 'function text')) AND (verify_descriptive_action_property (SELF, 'function text'))); END_ENTITY; (*
WR1: The description of the machining_nc_function shall be either 'display message', 'optional stop', 'program stop', 'set mark', 'wait for mark', 'exchange pallet', 'index pallet', 'index table', 'load tool', 'unload tool', or 'legacy function'.
WR2: If the description of the machining_nc_function is 'display message', the machining_nc_function shall be the definition of exactly one action_property with a name of 'message text', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item.
WR3: If the description of the machining_nc_function is 'wait for mark', the machining_nc_function shall be the definition of exactly one action_property with a name of 'channel'.
WR4: If the description of the machining_nc_function is 'index pallet', the machining_nc_function shall be the definition of exactly one action_property with a name of 'pallet index', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item in which the value_component is of type count_measure.
WR5: If the description of the machining_nc_function is 'index table', the machining_nc_function shall be the definition of exactly one action_property with a name of 'table index', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item in which the value_component is of type count_measure.
WR6: If the description of the machining_nc_function is 'load tool', the machining_nc_function shall appear in the usage set of exactly one machining_tool.
WR7: If the description of the machining_nc_function is 'unload tool', the machining_nc_function shall appear in the usage set of at most one machining_tool.
WR8: If the description of the machining_nc_function is 'legacy function', the machining_nc_function shall be the definition of exactly one action_property with a name of 'function text', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item.
A machining_offset_vector_representation is a type of representation that identifies NC variables that will hold the translation and rotation of a machining workpiece. See the ARM definitions for Offset_vector and NC_variable in ISO 14649-10 for more information.
*) ENTITY machining_offset_vector_representation SUBTYPE OF (representation); WHERE WR1: (1 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'translate')))) AND (0 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'translate') AND NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LIST_REPRESENTATION_ITEM' IN TYPEOF(it.item_element)) AND (SIZEOF(it.item_element) = 3) AND (0 = SIZEOF (QUERY (ie <* it.item_element | NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM' IN TYPEOF(ie)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE' IN TYPEOF(ie)))))) ) ))); WR2: (1 >= SIZEOF (QUERY ( it <* SELF.items | (it.name = 'rotate')))) AND (0 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'rotate') AND NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LIST_REPRESENTATION_ITEM' IN TYPEOF(it.item_element)) AND (SIZEOF(it.item_element) = 3) AND (0 = SIZEOF (QUERY (ie <* it.item_element | NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM' IN TYPEOF(ie)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE' IN TYPEOF(ie)))))) ) ))); END_ENTITY; (*
WR1: The items set shall contain exactly one representation_item with a name of 'translate', which shall be of type compound_representation_item with a item_element of type list_representation_item. This list shall contain exactly three members, and all members shall be of type expression_representation_item and numeric_variable.
WR2: The items set shall contain at most one representation_item with a name of 'rotate', which shall be of type compound_representation_item with a item_element of type list_representation_item. This list shall contain exactly three members, and all members shall be of type expression_representation_item and numeric_variable.
A machining_operation is a type of action_method that represents the manufacturing details of a step of a machining process. See the ARM definitions for Operation and subtypes in ISO 14649-10 and ISO 14649-11 for more information.
*) ENTITY machining_operation SUBTYPE OF (action_method); WHERE WR1: ((verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOLPATH_SEQUENCE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOLPATH'])) ); WR2: (verify_optional_action_property (SELF, 'tool direction')) AND (verify_rep_type_for_action_property (SELF, 'tool direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL_DIRECTION_REPRESENTATION'])); WR3: ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_RAPID_MOVEMENT' IN TYPEOF(SELF)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOUCH_PROBING' IN TYPEOF(SELF)) OR ((verify_optional_action_property (SELF, 'retract plane')) AND (verify_length_measure_action_property (SELF, 'retract plane')) AND (verify_optional_action_property (SELF, 'cut start point')) AND (verify_rep_item_for_action_property (SELF, 'cut start point', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.CARTESIAN_POINT'])) AND (1 = SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))) AND (verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY'])) AND (verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS'])) ); END_ENTITY; (*
WR1: The machining_operation shall be the relating_method of zero or more instances of machining_toolpath_sequence_relationship, in which the related_method shall be of type machining_toolpath.
WR2: The machining_operation shall be the definition of at most one action_property with a name of 'tool direction', and the representation used to describe the action_property shall be of type machining_tool_direction_representation.
WR3: If the machining_operation is not also a instance of either machining_rapid_movement or machining_touch_probing, the machining_operation shall satisfy the following conditions:
IP1: All machining_toolpath_sequence_relationship instances which refer to the same machining_operation through relating_method shall have unique sequence_position values.
A machining_operation_relationship is a type of action_method_relationship that represents use of an Operation to describe the action performed by a workingstep. See the ARM definitions for Workingstep and Turning_workingstep in ISO 14649-10 and ISO 14649-12 for more information.
*) ENTITY machining_operation_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_operator_instruction is a type of action_method_with_associated_documents that represents instructions to the human operator of a machining process. See the ARM definition for Setup_instruction in ISO 14649-10 for more information.
*) ENTITY machining_operator_instruction SUBTYPE OF (action_method_with_associated_documents); WHERE WR1: EXISTS (self.description) OR (0 < SIZEOF(self.documents)); END_ENTITY; (*
WR1: Either the description of the machining_operator_instruction shall have a value, or the documents attribute shall contain at least one element.
NOTE This corresponds to local constraint WR1 on the ARM entity Setup_instruction in ISO 14649-10.
A machining_operator_instruction_relationship is a type of sequential_method that represents use of a Setup_instruction as an element of a sequence of instructions in a Workpiece_setup. See the ARM definitions for Workpiece_setup in ISO 14649-10 for more information.
*) ENTITY machining_operator_instruction_relationship SUBTYPE OF (sequential_method); END_ENTITY; (*
A machining_process_body_relationship is a type of action_method_relationship that represents use of an Executable as an element in the control flow described by another Executable. See the ARM definitions for the Executable subtypes in ISO 14649-10 for more information.
*) ENTITY machining_process_body_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_process_branch_relationship is a type of machining_process_body_relationship that represents use of an Executable as an element in the branching control flow described by another Executable. See the ARM definitions for If_statement, Selective, and other Executable subtypes in ISO 14649-10 for more information.
*) ENTITY machining_process_branch_relationship SUBTYPE OF (machining_process_body_relationship); END_ENTITY; (*
A machining_process_branch_relationship is a type of machining_process_body_relationship and concurrent_action_method that represents use of an Executable as one of possibly several simultaneous elements in the control flow described by another Executable. See the ARM definitions for Parallel and other Executable subtypes in ISO 14649-10 for more information.
*) ENTITY machining_process_concurrent_relationship SUBTYPE OF (machining_process_body_relationship, concurrent_action_method); END_ENTITY; (*
A machining_process_executable is a type of action_method that represents an executable step in a machining process. See the ARM definitions for Executable and subtypes in ISO 14649-10 for more information
NOTE In the second edition, the supertype of this entity has been changed to process_operation, which is also an action_method subtype, to further interoperation with AP242.
*) ENTITY machining_process_executable SUBTYPE OF (process_operation); WHERE WR1: NOT (0 = SIZEOF (TYPEOF (SELF) * ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_PROCESS', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_NC_FUNCTION', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_WORKINGSTEP', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_WORKPLAN'] )) OR (SELF.description IN ['assignment', 'if statement', 'non-sequential', 'parallel', 'selective', 'while statement', 'setup instructions']); WR2: NOT (SELF.description = 'assignment') OR ((verify_required_action_property (SELF, 'lvalue')) AND (verify_rep_item_for_action_property (SELF, 'lvalue', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE'])) AND (verify_required_action_property (SELF, 'rvalue')) AND (verify_rep_item_for_action_property (SELF, 'rvalue', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM']))); WR3: NOT (SELF.description = 'if statement') OR ((verify_required_action_property (SELF, 'condition')) AND (verify_rep_item_for_action_property (SELF, 'condition', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOOLEAN_EXPRESSION'])) AND (verify_required_relating_amr_with_name (SELF, 'true branch', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'true branch', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) AND (verify_optional_relating_amr_with_name (SELF, 'false branch', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'false branch', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) ); WR4: NOT (SELF.description = 'while statement') OR ((verify_required_action_property (SELF, 'condition')) AND (verify_rep_item_for_action_property (SELF, 'condition', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOOLEAN_EXPRESSION'])) AND (verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) ); WR5: NOT (SELF.description = 'parallel') OR ((2 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_CONCURRENT_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_CONCURRENT_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) ); WR6: NOT (SELF.description = 'non-sequential') OR ((2 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) ); WR7: NOT (SELF.description = 'selective') OR ((2 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])) ); WR8: NOT (SELF.description = 'setup instructions') OR ((verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATOR_INSTRUCTION_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATOR_INSTRUCTION'])) ); WR9: (verify_optional_action_property (SELF, 'enabled')) AND (verify_enumeration_action_property (SELF, 'enabled', ['enabled', 'disabled'])) AND (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'as-is shape')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'as-is shape') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))) AND (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'fixture shape')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'fixture shape') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))) AND (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'removal shape')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'removal shape') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))) AND (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'to-be shape')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'to-be shape') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))); END_ENTITY; (*
WR1: If the machining_process_executable is exactly of type machining_process_executable and not an instance of any of the subtypes machining_workingstep, machining_workplan, machining_feature_process, or machining_nc_function, the description of the machining_process_executable shall be either 'assignment', 'if statement', 'non-sequential', 'parallel', 'selective', 'while statement', or 'setup instructions'.
WR2: If the description of the machining_process_executable is 'assignment', the machining_process_executable shall satisfy the following conditions:
WR3: If the description of the machining_process_executable is 'if statement', the machining_process_executable shall satisfy the following conditions:
WR4: If the description of the machining_process_executable is 'while statement', the machining_process_executable shall satisfy the following conditions:
WR5: If the description of the machining_process_executable is 'parallel', the machining_process_executable shall be the relating_method of at least two instances of machining_process_concurrent_relationship, in which the related_method is of type machining_process_executable.
WR6: If the description of the machining_process_executable is 'non-sequential', the machining_process_executable shall be the relating_method of at least two instances of machining_process_body_relationship, in which the related is of type machining_process_executable.
WR7: If the description of the machining_process_executable is 'selective', the machining_process_executable shall be the relating_method of at least two instances of machining_process_branch_relationship, in which the related_method is of type machining_process_executable.
WR8: If the description of the machining_process_executable is 'setup instructions', the machining_process_executable shall be the relating_method of zero or more instances of machining_operator_instruction_relationship, in which the related_method is of type machining_operator_instruction.
WR9: The machining_process_executable shall satisfy the following conditions:
IP1: The name of a machining_process_executable shall be unique within the machining process.
A machining_process_model is a type of action_method that represents process control settings on the machine tool which is to execute a machining process. See the ARM definition for Process_model in ISO 14649-11 for more information.
*) ENTITY machining_process_model SUBTYPE OF (action_method); WHERE WR1: (verify_required_action_property (SELF, 'initialization data')) AND (verify_descriptive_action_property (SELF, 'initialization data')); END_ENTITY; (*
WR1: The machining_process_model shall be the definition of exactly one action_property with a name of 'initialization data', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item.
A machining_process_model_relationship is a type of sequential_method that represents use of a Process_model as an element of a sequence of models in a Machine_functions description. See the ARM definitions for the Machine_functions subtypes in ISO 14649-11 and ISO 14649-12 for more information.
*) ENTITY machining_process_model_relationship SUBTYPE OF (sequential_method); END_ENTITY; (*
A machining_process_property is a type of action_property that describes supplemental information about an Executable or Operation application object.
*) ENTITY machining_process_property SUBTYPE OF (action_property); END_ENTITY; (*
A machining_process_sequence_relationship is a type of machining_process_body_relationship and sequential_method that represents use of an Executable as an element of a sequence in the control flow described by another Executable. See the ARM definitions for Workplan and other Executable subtypes in ISO 14649-10 for more information.
*) ENTITY machining_process_sequence_relationship SUBTYPE OF (machining_process_body_relationship, sequential_method); END_ENTITY; (*
A machining_project is a type of product that represents a Project. See the ARM definitions for Project in ISO 14649-10 for more information.
*) ENTITY machining_project SUBTYPE OF (product); WHERE WR1: (0 = SIZEOF (QUERY (pdf <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PRODUCT_DEFINITION_FORMATION.OF_PRODUCT') | NOT -- it has at most one associated owner. (1 >= SIZEOF (QUERY (poa <* USEDIN (pdf, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS') | (poa.role.name = 'owner')))) ))); WR2: (0 = SIZEOF (QUERY (pdf <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PRODUCT_DEFINITION_FORMATION.OF_PRODUCT') | NOT -- it has at most one associated release date. (1 >= SIZEOF (QUERY (dta <* USEDIN (pdf, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'APPLIED_DATE_AND_TIME_ASSIGNMENT.ITEMS') | (dta.role.name = 'release date')))) ))); WR3: (0 = SIZEOF (QUERY (pdf <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PRODUCT_DEFINITION_FORMATION.OF_PRODUCT') | NOT (0 = SIZEOF (QUERY (pd <* USEDIN (pdf, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION.FORMATION') | NOT -- it has one associated workplan. (1 = SIZEOF (QUERY (ppa <* USEDIN (pd, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PROCESS_PRODUCT_ASSOCIATION.DEFINED_PRODUCT') | (ppa.process.name = 'machining') AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_WORKPLAN' IN TYPEOF (ppa.process.chosen_method))))) ))) ))); END_ENTITY; (*
WR1: Each product_definition_formation that refers to the machining_project as of_product, shall itself appear in the items set of at most one applied_person_and_organization_assignment instance in which role refers to a person_and_organization_role with a name of 'owner'.
WR2: Each product_definition_formation that refers to the machining_project as of_product, shall itself appear in the items set of at most one applied_date_and_time_assignment instance in which role refers to a date_and_time_role with a name of 'release date'.
WR3: Each product_definition that refers to a product_definition_formation that refers to the machining_project as of_product, shall itself appear as the defined_product of exactly one process_product_association instance in which process shall have a name of 'machining' and a chosen_method of type machining_workplan.
A machining_project_workpiece_relationship is a type of product_definition_relationship that represents use of an Workpiece as an element of a Project. See the ARM definitions for Project in ISO 14649-10 for more information.
*) ENTITY machining_project_workpiece_relationship SUBTYPE OF (product_definition_relationship); END_ENTITY; (*
A machining_rapid_movement is a type of machining_operation that represents a rapid motion of the machine axes in a machining process. See the ARM definitions for Rapid_movement and subtypes in ISO 14649-10 for more information.
*) ENTITY machining_rapid_movement SUBTYPE OF (machining_operation); END_ENTITY; (*
A machining_setup is a type of product that represents a Setup. See the ARM definitions for Setup in ISO 14649-10 for more information.
*) ENTITY machining_setup SUBTYPE OF (product); WHERE WR1: (0 = SIZEOF (QUERY (pdf <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'PRODUCT_DEFINITION_FORMATION.OF_PRODUCT') | NOT (0 = SIZEOF (QUERY (pd <* USEDIN (pdf, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION.FORMATION') | NOT -- it has one associated security plane. (1 = SIZEOF (QUERY (prop <* USEDIN (pd, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (prop.name = 'security plane')))) ))) ))); END_ENTITY; (*
WR1: Each product_definition that refers to a product_definition_formation that refers to the machining_setup shall be the definition of exactly one property_definition with a name of 'security plane'.
A machining_setup_workpiece_relationship is a type of product_definition_relationship that represents use of an Workpiece as an element of a Setup in a Workpiece_setup. See the ARM definitions for Setup and Workpiece_setup in ISO 14649-10 for more information.
*) ENTITY machining_setup_workpiece_relationship SUBTYPE OF (product_definition_relationship); END_ENTITY; (*
A machining_spindle_speed_representation is a type of representation that represents the speed at which a machine tool spindle rotates. The spindle speed is described as one of the following:
*) ENTITY machining_spindle_speed_representation SUBTYPE OF (representation); WHERE WR1: (SELF.name IN ['spindle speed', 'cutting speed', 'relative speed']); WR2: NOT (SELF.name = 'spindle speed') OR ((verify_required_rep_item (SELF, 'rotational speed')) AND (verify_rotary_speed_measure_rep_item (SELF, 'rotational speed')) ); WR3: NOT (SELF.name = 'cutting speed') OR ((verify_required_rep_item (SELF, 'surface speed')) AND (verify_linear_speed_measure_rep_item (SELF, 'surface speed')) AND (verify_optional_rep_item (SELF, 'maximum rotational speed')) AND (verify_rotary_speed_measure_rep_item (SELF, 'maximum rotational speed')) ); WR4: NOT (SELF.name = 'relative speed') OR ((verify_required_rep_item (SELF, 'relative speed')) AND (verify_ratio_measure_rep_item (SELF, 'relative speed')) ); END_ENTITY; (*
WR1: The name of the machining_spindle_speed_representation shall be either 'spindle speed', 'cutting speed', or 'relative speed'.
WR2: If the name of the machining_spindle_speed_representation is 'spindle speed', the items set shall contain exactly one representation_item with a name of 'rotational speed', which shall be of type measure_representation_item with a value_component of type numeric_measure.
WR3: If the name of the machining_spindle_speed_representation is 'cutting speed', the items set shall contain the following items:
WR4: If the name of the machining_spindle_speed_representation is 'relative speed', the items set shall contain exactly one representation_item with a name of 'relative speed', which shall be of type measure_representation_item and ratio_measure_with_unit.
A machining_strategy is a type of action_method that represents a particular approach used to perform some aspect of a step in a machining process.
*) ENTITY machining_strategy SUBTYPE OF (action_method); END_ENTITY; (*
A machining_strategy_relationship is a type of action_method_relationship that represents use of a Two5d_milling_strategy, Drilling_type_strategy, Freeform_strategy, Turning_machining_strategy, or Approach_retract_strategy description in some context. See the ARM definitions for the Operation subtypes in ISO 14649-11 and ISO 14649-12 for more information.
*) ENTITY machining_strategy_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_technology is a type of action_method that represents technological parameters that govern a portion of a machining process. See the ARM definitions for Technology in ISO 14649-10 Milling_technology in ISO 14649-11, and Turning_technology in ISO 14649-12 for more information.
*) ENTITY machining_technology SUBTYPE OF (action_method); WHERE WR1: (verify_optional_action_property (SELF, 'feedrate')) AND (verify_rep_type_for_action_property (SELF, 'feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])); WR2: (verify_optional_action_property (SELF, 'feedrate reference')) AND (verify_enumeration_action_property (SELF, 'feedrate reference', ['tool center point', 'cutter contact point'])); WR3: NOT (SELF.description = 'milling') OR ((verify_optional_action_property (SELF, 'spindle')) AND (verify_rep_type_for_action_property (SELF, 'spindle', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_SPINDLE_SPEED_REPRESENTATION'])) AND (verify_optional_action_property (SELF, 'synchronize spindle with feed')) AND (verify_enumeration_action_property (SELF, 'synchronize spindle with feed', ['synchronized', 'not synchronized'])) AND (verify_optional_action_property (SELF, 'inhibit feedrate override')) AND (verify_enumeration_action_property (SELF, 'inhibit feedrate override', ['override allowed', 'override not allowed'])) AND (verify_optional_action_property (SELF, 'inhibit spindle override')) AND (verify_enumeration_action_property (SELF, 'inhibit spindle override', ['override allowed', 'override not allowed'])) AND (verify_optional_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY'])) ); WR4: NOT (SELF.description = 'milling') OR ((verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'])) OR (verify_required_action_property (SELF, 'spindle') AND verify_rep_name_for_action_property (SELF, 'spindle', ['spindle speed', 'cutting speed'])) ); WR5: NOT (SELF.description = 'milling') OR ((verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'])) OR (verify_required_action_property (SELF, 'feedrate') AND verify_rep_name_for_action_property (SELF, 'feedrate', ['feed speed', 'feed per tooth'])) ); WR6: NOT (SELF.description = 'turning') OR ((verify_optional_action_property (SELF, 'spindle')) AND (verify_rep_type_for_action_property (SELF, 'spindle', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_SPINDLE_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'spindle', ['spindle speed', 'cutting speed'])) AND (verify_rep_name_for_action_property (SELF, 'feedrate', ['feed speed', 'feed per revolution'])) AND (verify_optional_action_property (SELF, 'synchronize spindle with z feed')) AND (verify_enumeration_action_property (SELF, 'synchronize spindle with z feed', ['synchronized', 'not synchronized'])) AND (verify_optional_action_property (SELF, 'inhibit feedrate override')) AND (verify_enumeration_action_property (SELF, 'inhibit feedrate override', ['override allowed', 'override not allowed'])) AND (verify_optional_action_property (SELF, 'inhibit spindle override')) AND (verify_enumeration_action_property (SELF, 'inhibit spindle override', ['override allowed', 'override not allowed'])) AND (verify_optional_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_ADAPTIVE_CONTROL_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY'])) ); END_ENTITY; (*
WR1: The machining_technology shall be the definition of at most one action_property with a name of 'feedrate', and the representation used to describe the action_property shall be of type machining_feed_speed_representation.
WR2: The machining_technology shall be the definition of at most one action_property with a name of 'feedrate reference', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of 'tool center point' or 'cutter contact point'.
WR3: If the description of the machining_technology is 'milling', the machining_technology shall satisfy the following conditions:
WR4: If the description of the machining_technology is 'milling', either the machining_technology shall be the relating_method of exactly one machining_adaptive_control_relationship, or else the machining_technology shall be the definition of exactly one action_property with a name of 'spindle', and the representation used to describe the action_property shall have a description of either 'spindle speed' or 'cutting speed'.
NOTE This corresponds to local constraint WR1 on the ARM entity Milling_technology in ISO 14649-11
WR5: If the description of the machining_technology is 'milling', either the machining_technology shall be the relating_method of exactly one machining_adaptive_control_relationship, or else the machining_technology shall be the definition of exactly one action_property with a name of 'feedrate', and the representation used to describe the action_property shall have a description of either 'feed speed' or 'feed per tooth'.
NOTE This corresponds to local constraint WR2 on the ARM entity Milling_technology in ISO 14649-11
WR6: If the description of the machining_technology is 'turning', the machining_technology shall satisfy the following conditions:
A machining_technology_relationship is a type of action_method_relationship that represents use of a Technology description in some context. See the ARM definitions for Operation, Toolpath and their subtypes in ISO 14649-10, ISO 14649-11 and ISO 14649-12 for more information.
*) ENTITY machining_technology_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_tool is a type of action_resource that represents tool requirements for machining. See the ARM definitions for Machining_tool in ISO 14649-10, Milling_machine_cutting_tool in ISO 14649-111, and Turning_machine_cutting_tool in ISO 14649-121 for more information.
NOTE The action resource concept is used here because this describes required resources (tools) to perform an action method (machining workingstep). Design information about individual tools (not just usage requirements) can be represented using the product and product_definition_formation concepts rather than action_resource. The machining_tool_usage type represents the bridge between these two descriptions.
*) ENTITY machining_tool SUBTYPE OF (action_resource); WHERE WR1: NOT (SELF.kind.name = 'milling cutting tool') OR ((0 <= SIZEOF (QUERY (arr <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE_RELATIONSHIP.RELATING_RESOURCE') | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_CUTTING_COMPONENT' IN TYPEOF (arr.related_resource)) AND (arr.related_resource.kind.name = 'milling cutting edge') )))) AND (verify_optional_tool_body_item (SELF, 'overall assembly length')) AND (verify_length_measure_tool_body_item (SELF, 'overall assembly length')) AND (verify_optional_tool_body_item (SELF, 'effective cutting diameter')) AND (verify_length_measure_tool_body_item (SELF, 'effective cutting diameter')) AND (verify_optional_tool_body_item (SELF, 'maximum depth of cut')) AND (verify_length_measure_tool_body_item (SELF, 'maximum depth of cut')) AND (verify_optional_tool_body_item (SELF, 'hand of cut')) AND (verify_enumeration_tool_body_item (SELF, 'hand of cut', ['left', 'right', 'neutral'])) AND (verify_optional_tool_body_item (SELF, 'coolant through tool')) AND (verify_enumeration_tool_body_item (SELF, 'coolant through tool', ['supported', 'not supported'])) ); WR2: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'counterbore', 'countersink', 'spade drill', 'spot drill', 'step drill', 'tapered drill', 'twist drill', 'drill'])) OR ((verify_optional_tool_body_item (SELF, 'point angle')) AND (verify_angle_measure_tool_body_item (SELF, 'point angle')) ); WR3: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'countersink')) OR ((verify_optional_tool_body_item (SELF, 'minimum cutting diameter')) AND (verify_length_measure_tool_body_item (SELF, 'minimum cutting diameter')) AND (verify_required_tool_body_item (SELF, 'maximum usable length')) AND (verify_length_measure_tool_body_item (SELF, 'maximum usable length')) ); WR4: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tapered drill')) OR ((verify_required_tool_body_item (SELF, 'taper angle')) AND (verify_angle_measure_tool_body_item (SELF, 'taper angle')) ); WR5: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'step drill')) OR ((verify_required_tool_body_item (SELF, 'step diameters')) AND (verify_rep_item_for_tool_body (SELF, 'step diameters', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM'])) AND (verify_required_tool_body_item (SELF, 'step lengths')) AND (verify_rep_item_for_tool_body (SELF, 'step lengths', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM'])) ); WR6: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'ballnose endmill', 'bullnose endmill', 'dovetail mill', 'endmill', 'facemill', 'profiled endmill', 'shoulder mill', 'tee slot mill', 'thread mill', 'side mill'])) OR ((verify_optional_tool_body_item (SELF, 'number of effective teeth')) AND (verify_count_measure_tool_body_item (SELF, 'number of effective teeth')) AND (verify_optional_tool_body_item (SELF, 'edge radius')) AND (verify_length_measure_tool_body_item (SELF, 'edge radius')) ); WR7: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'ballnose endmill', 'bullnose endmill', 'endmill', 'facemill', 'profiled endmill'])) OR ((verify_optional_tool_body_item (SELF, 'tool cutting edge angle')) AND (verify_angle_measure_tool_body_item (SELF, 'tool cutting edge angle')) ); WR8: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'ballnose endmill')) OR verify_ballnose_endmill_dimensions (SELF); WR9: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'bullnose endmill')) OR verify_bullnose_endmill_dimensions (SELF); WR10: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tee slot mill')) OR ((verify_optional_tool_body_item (SELF, 'cutting width')) AND (verify_length_measure_tool_body_item (SELF, 'cutting width')) ); WR11: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'dovetail mill')) OR ((verify_optional_tool_body_item (SELF, 'included angle')) AND (verify_angle_measure_tool_body_item (SELF, 'included angle')) ); WR12: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'side mill')) OR ((verify_optional_tool_body_item (SELF, 'cutter width')) AND (verify_length_measure_tool_body_item (SELF, 'cutter width')) ); WR13: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'thread mill', 'tapping tool', 'combined drill and tap'])) OR ((verify_required_tool_body_item (SELF, 'thread form type')) AND (verify_rep_item_for_tool_body (SELF, 'thread form type', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])) AND (verify_required_tool_body_item (SELF, 'thread size')) AND (verify_length_measure_tool_body_item (SELF, 'thread size')) AND (verify_required_tool_body_item (SELF, 'thread pitch')) AND (verify_length_measure_tool_body_item (SELF, 'thread pitch')) ); WR14: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'tapping tool', 'combined drill and tap'])) OR ((verify_required_tool_body_item (SELF, 'taper thread count')) AND (verify_count_measure_tool_body_item (SELF, 'taper thread count')) ); WR15: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'reamer', 'combined drill and reamer', 'tapered reamer'])) OR ((verify_required_tool_body_item (SELF, 'taper length')) AND (verify_length_measure_tool_body_item (SELF, 'taper length')) ); WR16: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tapered reamer')) OR ((verify_required_tool_body_item (SELF, 'taper angle')) AND (verify_angle_measure_tool_body_item (SELF, 'taper angle')) ); WR17: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'combined drill and reamer', 'combined drill and tap'])) OR ((verify_required_tool_body_item (SELF, 'drill length')) AND (verify_length_measure_tool_body_item (SELF, 'drill length')) ); WR18: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'boring tool')) OR ((verify_required_tool_body_item (SELF, 'retract movement')) AND (verify_enumeration_tool_body_item (SELF, 'retract movement', ['permitted', 'forbidden'])) ); WR19: NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'user defined milling tool')) OR ((verify_optional_tool_body_item (SELF, 'tool description')) AND (verify_rep_item_for_tool_body (SELF, 'tool description', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])) AND (verify_optional_tool_body_item (SELF, 'corner radius')) AND (verify_length_measure_tool_body_item (SELF, 'corner radius')) AND (verify_optional_tool_body_item (SELF, 'corner radius center horizontal')) AND (verify_length_measure_tool_body_item (SELF, 'corner radius center horizontal')) AND (verify_optional_tool_body_item (SELF, 'corner radius center vertical')) AND (verify_length_measure_tool_body_item (SELF, 'corner radius center vertical')) AND (verify_optional_tool_body_item (SELF, 'taper angle')) AND (verify_angle_measure_tool_body_item (SELF, 'taper angle')) AND (verify_optional_tool_body_item (SELF, 'tip outer angle')) AND (verify_angle_measure_tool_body_item (SELF, 'tip outer angle')) ); WR20: NOT (SELF.kind.name = 'turning cutting tool') OR ((verify_required_tool_body_item (SELF, 'functional length')) AND (verify_length_measure_tool_body_item (SELF, 'functional length')) AND (verify_required_tool_body_item (SELF, 'f dimension')) AND (verify_length_measure_tool_body_item (SELF, 'f dimension')) AND (verify_optional_tool_body_item (SELF, 'minimum cutting diameter')) AND (verify_length_measure_tool_body_item (SELF, 'minimum cutting diameter')) AND (verify_optional_tool_body_item (SELF, 'a dimension on f')) AND (verify_length_measure_tool_body_item (SELF, 'a dimension on f')) AND (verify_optional_tool_body_item (SELF, 'a dimension on lf')) AND (verify_length_measure_tool_body_item (SELF, 'a dimension on lf')) AND (verify_optional_tool_body_item (SELF, 'hand of cut')) AND (verify_enumeration_tool_body_item (SELF, 'hand of cut', ['left', 'right', 'neutral'])) AND (0 <= SIZEOF (QUERY (arr <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE_RELATIONSHIP.RELATING_RESOURCE') | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_CUTTING_COMPONENT' IN TYPEOF (arr.related_resource)) AND (arr.related_resource.kind.name = 'turning cutting edge') )))) ); WR21: NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'turning threading tool')) OR ((verify_required_tool_body_item (SELF, 'threading pitch')) AND (verify_length_measure_tool_body_item (SELF, 'threading pitch')) AND (verify_required_tool_body_item (SELF, 'thread hand')) AND (verify_enumeration_tool_body_item (SELF, 'thread hand', ['left', 'right'])) AND (verify_required_tool_body_item (SELF, 'thread type')) AND (verify_enumeration_tool_body_item (SELF, 'thread type', ['internal', 'external'])) AND (verify_required_tool_body_item (SELF, 'thread profile')) AND (verify_enumeration_tool_body_item (SELF, 'thread profile', ['full', 'partial'])) AND (verify_required_tool_body_item (SELF, 'thread form type')) AND (verify_rep_item_for_tool_body (SELF, 'thread form type', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])) ); WR22: NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'grooving tool')) OR ((verify_required_tool_body_item (SELF, 'cutting width')) AND (verify_length_measure_tool_body_item (SELF, 'cutting width')) AND (verify_required_tool_body_item (SELF, 'maximum grooving depth')) AND (verify_length_measure_tool_body_item (SELF, 'maximum grooving depth')) AND (verify_optional_tool_body_item (SELF, 'corner radius')) AND (verify_length_measure_tool_body_item (SELF, 'corner radius')) AND (verify_optional_tool_body_item (SELF, 'maximum axial grooving diameter')) AND (verify_length_measure_tool_body_item (SELF, 'maximum axial grooving diameter')) AND (verify_optional_tool_body_item (SELF, 'minimum axial grooving diameter')) AND (verify_length_measure_tool_body_item (SELF, 'minimum axial grooving diameter')) ); WR23: NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'knurling tool')) OR ((verify_required_tool_body_item (SELF, 'knurl pattern')) AND (verify_enumeration_tool_body_item (SELF, 'knurl pattern', ['straight', 'diagonal', 'diamond'])) AND (verify_optional_tool_body_item (SELF, 'cutting length')) AND (verify_length_measure_tool_body_item (SELF, 'cutting length')) AND (verify_optional_tool_body_item (SELF, 'cutting angle')) AND (verify_angle_measure_tool_body_item (SELF, 'cutting angle')) AND (verify_optional_tool_body_item (SELF, 'cutting pitch')) AND (verify_length_measure_tool_body_item (SELF, 'cutting pitch')) ); WR24: NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'user defined turning tool')) OR ((verify_required_tool_body_item (SELF, 'tool identifier')) AND (verify_rep_item_for_tool_body (SELF, 'tool identifier', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])) ); WR25: (1 >= SIZEOF (QUERY (rar <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES') | ((1 = SIZEOF(rar.operations)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL_USAGE' IN TYPEOF (rar\action_resource_requirement.operations[1]))) ))); END_ENTITY; (*
WR1: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool', the machining_tool shall satisfy the following conditions:
WR2: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'counterbore', 'countersink', 'spade drill', 'spot drill', 'step drill', 'tapered drill', 'twist drill', or 'drill', the machining_tool shall satisfy the following conditions:
WR3: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'countersink', the machining_tool shall satisfy the following conditions:
WR4: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'tapered drill', machining_tool shall satisfy the following conditions:
WR5: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'step drill', machining_tool shall satisfy the following conditions:
WR6: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'ballnose endmill', 'bullnose endmill', 'dovetail mill', 'endmill', 'facemill', 'profiled endmill', 'shoulder mill', 'tee slot mill', 'thread mill', or 'side mill', machining_tool shall satisfy the following conditions:
WR7: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'ballnose endmill', 'bullnose endmill', 'endmill', 'facemill', or 'profiled endmill', the machining_tool shall satisfy the following conditions:
WR8: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'ballnose endmill', the conditions tested by the verify_ballnose_endmill_dimensions shall be satisfied.
NOTE This corresponds to the local constraint WR1on Ballnose_endmill in ISO 14649-111
WR9: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'bullnose endmill', the conditions tested by the verify_bullnose_endmill_dimensions shall be satisfied.
NOTE This corresponds to the local constraint WR1on Bullnose_endmill in ISO 14649-111
WR10: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'tee slot mill', the machining_tool shall satisfy the following conditions:
WR11: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'dovetail mill', the machining_tool shall satisfy the following conditions:
WR12: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'side mill', the machining_tool shall satisfy the following conditions:
WR13: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'thread mill', 'tapping tool', or 'combined drill and tap', the machining_tool shall satisfy the following conditions:
WR14: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'tapping tool' or 'combined drill and tap', the machining_tool shall satisfy the following conditions:
WR15: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'reamer', 'combined drill and reamer', or 'tapered reamer', the machining_tool shall satisfy the following conditions:
WR16: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'tapered reamer', the machining_tool shall satisfy the following conditions:
WR17: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'combined drill and reamer' or 'combined drill and tap', the machining_tool shall satisfy the following conditions:
WR18: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'boring tool', the machining_tool shall satisfy the following conditions:
WR19: If the kind of the machining_tool is an action_resource_type with a name of 'milling cutting tool' and the description of the machining_tool is 'user defined milling tool', the machining_tool shall satisfy the following conditions:
WR20: If the kind of the machining_tool is an action_resource_type with a name of 'turning cutting tool', the machining_tool shall satisfy the following conditions:
WR21: If the kind of the machining_tool is an action_resource_type with a name of 'turning cutting tool' and the description of the machining_tool is 'turning threading tool', the machining_tool shall satisfy the following conditions:
WR22: If the kind of the machining_tool is an action_resource_type with a name of 'turning cutting tool' and the description of the machining_tool is 'grooving tool', the machining_tool shall satisfy the following conditions:
WR23: If the kind of the machining_tool is an action_resource_type with a name of 'turning cutting tool' and the description of the machining_tool is 'knurling tool', the machining_tool shall satisfy the following conditions:
WR24: If the kind of the machining_tool is an action_resource_type with a name of 'turning cutting tool' and the description of the machining_tool is 'user defined turning tool', the machining_tool shall satisfy the following conditions:
WR25: The machining_tool shall be a member of the resources attribute of at most one requirement_for_action_resource which has an operations attribute containing a single instance which is of type machining_tool_usage.
IP1: The machining_tool name shall be unique.
A machining_tool_body_representation is a type of representation that describes the body configuration parameters of a tool for machining.
*) ENTITY machining_tool_body_representation SUBTYPE OF (representation); END_ENTITY; (*
A machining_tool_direction_representation is a type of representation that represents direction of the cutting tool for freeform machining. See the ARM definition for Tool_direction in ISO 14649-10 for more information.
*) ENTITY machining_tool_direction_representation SUBTYPE OF (representation); WHERE WR1: (SELF.name IN ['two axes', 'three axes', 'three axes tilted tool', 'five axes const tilt yaw', 'five axes var tilt yaw']); WR2: NOT (SELF.name = 'three axes tilted tool') OR ((verify_required_rep_item (SELF, 'tool direction orientation')) AND (0 = SIZEOF (QUERY ( it <* SELF.items | (it.name = 'tool direction orientation') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION' IN TYPEOF(it))))) ); WR3: NOT (SELF.name = 'five axes const tilt yaw') OR ((verify_required_rep_item (SELF, 'tool direction tilt angle')) AND (verify_angle_measure_rep_item (SELF, 'tool direction tilt angle')) AND (verify_required_rep_item (SELF, 'tool direction yaw angle')) AND (verify_angle_measure_rep_item (SELF, 'tool direction yaw angle')) ); END_ENTITY; (*
WR1: The name of the machining_tool_direction_representation shall be either 'two axes', 'three axes', 'three axes tilted tool', 'five axes const tilt yaw', or 'five axes var tilt yaw'.
WR2: If the name of the machining_tool_direction_representation is 'three axes tilted tool', the items set shall contain exactly one representation_item with a name of 'tool direction orientation', which shall be of type direction.
WR3: If the name of the machining_tool_direction_representation is 'five axes const tilt yaw', the items set shall contain exactly one representation_item with a name of 'tool direction tilt angle', which shall be of type measure_representation_item and plane_angle_measure_with_unit, and the items set shall also contain exactly one representation_item with a name of 'tool direction yaw angle', which shall be of type measure_representation_item and plane_angle_measure_with_unit.
A machining_tool_usage is a type of action_method that represents tool usage to satisfy requirements for machining. See the ARM definition for Tool_usage for more information.
*) ENTITY machining_tool_usage SUBTYPE OF (action_method); WHERE WR1: ((verify_optional_action_property (SELF, 'tool position')) AND (verify_descriptive_action_property (SELF, 'tool position'))); WR2: ((verify_optional_action_property (SELF, 'tool carousel')) AND (verify_descriptive_action_property (SELF, 'tool carousel'))); WR3: (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'tool usage')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'tool usage') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act)) ))); WR4: ((verify_optional_action_property (SELF, 'gage placement')) AND (verify_rep_item_for_action_property (SELF, 'gage placement', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); WR5: ((verify_optional_action_property (SELF, 'tool end placement')) AND (verify_rep_item_for_action_property (SELF, 'tool end placement', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); END_ENTITY; (*
WR1: The machining_tool_usage shall be the definition of at most one action_property with a name of 'tool position', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item.
WR2: The machining_tool_usage shall be the definition of at most one action_property with a name of 'tool carousel', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item.
WR3: The machining_tool_usage shall be the chosen_method of at most one product_definition_process with a name of 'tool usage'.
WR4: The machining_tool_usage shall shall be the definition of at most one action_property with a name of 'gage placement', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
WR5: The machining_tool_usage shall shall be the definition of at most one action_property with a name of 'tool end placement', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
A machining_toolpath is a type of action_method that restricts a step in a machining process to use a specific movement of the machine axes. See the ARM definitions for Toolpath and subtypes in ISO 14649-10 for more information.
*) ENTITY machining_toolpath SUBTYPE OF (action_method); WHERE WR1: (SELF.description IN ['feedstop', 'axis trajectory', 'cutter location trajectory', 'cutter contact trajectory', 'approach lift path angle', 'approach lift path tangent', 'connect security plane', 'connect direct']); WR2: (verify_optional_action_property (SELF, 'priority')) AND (verify_enumeration_action_property (SELF, 'priority', ['required', 'suggested'])); WR3: (verify_optional_action_property (SELF, 'trajectory type')) AND (verify_enumeration_action_property (SELF, 'trajectory type', ['approach', 'lift', 'connect', 'non-contact', 'contact', 'trajectory path'])); WR4: ((verify_optional_action_property (SELF, 'speed profile')) AND (0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'speed profile') | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'MACHINING_TOOLPATH_SPEED_PROFILE_REPRESENTATION' IN TYPEOF(prep.representation)) ))) ))) ); WR5: (verify_optional_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TECHNOLOGY'])); WR6: (verify_optional_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FUNCTIONS'])); WR7: NOT (SELF.description IN ['axis trajectory', 'cutter location trajectory', 'cutter contact trajectory']) OR ((verify_optional_action_property (SELF, 'direction')) AND (verify_enumeration_action_property (SELF, 'direction', ['beginning to end', 'end to beginning'])) ); WR8: NOT (SELF.description = 'connect security plane') OR ((verify_optional_action_property (SELF, 'up direction')) AND (verify_rep_item_for_action_property (SELF, 'up direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'down direction')) AND (verify_rep_item_for_action_property (SELF, 'down direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) ); WR9: NOT (SELF.description = 'feedstop') OR ((verify_required_action_property (SELF, 'dwell')) AND (verify_time_measure_action_property (SELF, 'dwell')) ); WR10: NOT (SELF.description = 'axis trajectory') OR ((verify_required_action_property (SELF, 'axis commands')) AND -- axis commands property must contain one or more bounded curves (0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'axis commands') | NOT ((0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (1 <= SIZEOF (QUERY (it <* prep.representation.items | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE' in TYPEOF(it))))) ))))))) ); WR11: NOT (SELF.description IN ['approach lift path angle', 'approach lift path tangent']) OR ((verify_required_action_property (SELF, 'fix point')) AND (verify_rep_item_for_action_property (SELF, 'fix point', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.CARTESIAN_POINT'])) AND (verify_optional_action_property (SELF, 'fix point direction')) AND (verify_rep_item_for_action_property (SELF, 'fix point direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) ); WR12: NOT (SELF.description = 'approach lift path angle') OR ((verify_required_action_property (SELF, 'angle')) AND (verify_angle_measure_action_property (SELF, 'angle')) AND (verify_required_action_property (SELF, 'bend distance')) AND (verify_length_measure_action_property (SELF, 'bend distance')) ); WR13: NOT (SELF.description = 'approach lift path tangent') OR ((verify_required_action_property (SELF, 'radius')) AND (verify_length_measure_action_property (SELF, 'radius')) ); WR14: NOT (SELF.description = 'cutter location trajectory') OR ((verify_required_action_property (SELF, 'basic curve')) AND (verify_rep_item_for_action_property (SELF, 'basic curve', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'surface normal')) AND (verify_rep_item_for_action_property (SELF, 'surface normal', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'tool axis')) AND (verify_rep_item_for_action_property (SELF, 'tool axis', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'tool reference direction')) AND (verify_rep_item_for_action_property (SELF, 'tool reference direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'path maximum deviation')) AND (verify_length_measure_action_property (SELF, 'path maximum deviation')) AND (verify_optional_action_property (SELF, 'tool axis maximum deviation')) AND (verify_angle_measure_action_property (SELF, 'tool axis maximum deviation')) ); WR15: NOT (SELF.description = 'cutter contact trajectory') OR ((((verify_required_action_property (SELF, 'basic curve')) AND (verify_rep_item_for_action_property (SELF, 'basic curve', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_PCURVE'])) ) OR ((verify_required_action_property (SELF, 'basic curve')) AND (verify_rep_item_for_action_property (SELF, 'basic curve', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_required_action_property (SELF, 'surface normal')) AND (verify_rep_item_for_action_property (SELF, 'surface normal', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) ) ) AND (verify_optional_action_property (SELF, 'tool axis')) AND (verify_rep_item_for_action_property (SELF, 'tool axis', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'tool reference direction')) AND (verify_rep_item_for_action_property (SELF, 'tool reference direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) AND (verify_optional_action_property (SELF, 'contact type')) AND (verify_enumeration_action_property (SELF, 'contact type', ['side', 'front'])) AND (verify_optional_action_property (SELF, 'path maximum deviation')) AND (verify_length_measure_action_property (SELF, 'path maximum deviation')) AND (verify_optional_action_property (SELF, 'tool axis maximum deviation')) AND (verify_angle_measure_action_property (SELF, 'tool axis maximum deviation')) ); WR16: NOT (SELF.description IN ['axis trajectory', 'cutter location trajectory', 'cutter contact trajectory']) OR ((verify_optional_action_property (SELF, 'material removal depth')) AND ((verify_length_measure_action_property (SELF, 'material removal depth')) OR (verify_rep_item_for_action_property (SELF, 'material removal depth', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE']))) AND (verify_optional_action_property (SELF, 'material removal overcut')) AND ((verify_length_measure_action_property (SELF, 'material removal overcut')) OR (verify_rep_item_for_action_property (SELF, 'material removal overcut', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE']))) AND (verify_optional_action_property (SELF, 'material removal total volume')) AND (verify_rep_item_for_action_property (SELF, 'material removal total volume', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM'])) AND (verify_optional_action_property (SELF, 'cross section area parameters')) AND (verify_rep_item_for_action_property (SELF, 'cross section area parameters', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.BOUNDED_CURVE'])) ); END_ENTITY; (*
WR1: The description of the machining_toolpath shall be either ''feedstop', 'axis trajectory', 'cutter location trajectory', 'cutter contact trajectory', 'approach lift path angle', 'approach lift path tangent', 'connect security plane', or 'connect direct'.
WR2: The machining_toolpath shall be the definition of at most one action_property with a name of 'priority', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of 'required' or 'suggested'.
WR3: The machining_toolpath shall be the definition of at most one action_property with a name of 'trajectory type', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of 'approach', 'lift', 'connect', 'non-contact', 'contact', or 'trajectory path'.
WR4: The machining_toolpath shall be the definition of at most one action_property with a name of 'speed profile', and the representation used to describe the action_property shall be of type machining_toolpath_speed_profile_representation.
WR5: The machining_toolpath shall be the relating_method of at most one machining_technology_relationship, in which the related_method shall be of type machining_technology.
WR6: The machining_toolpath shall be the relating_method of at most one machining_functions_relationship, in which the related_method shall be of type machining_functions.
WR7: If the description of the machining_toolpath is 'axis trajectory', 'cutter location trajectory', or 'cutter contact trajectory', the machining_toolpath shall be the definition of at most one action_property with a name of 'direction', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of 'beginning to end' or 'end to beginning'.
WR8: If the description of the machining_toolpath is 'connect security plane', the machining_toolpath shall satisfy the following conditions:
WR9: If the description of the machining_toolpath is 'feedstop', the machining_toolpath shall be the definition of exactly one action_property with a name of 'dwell', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and time_measure_with_unit.
WR10: If the description of the machining_toolpath is 'axis trajectory', the machining_toolpath shall be the definition of exactly one action_property with a name of 'axis commands', and the representation used to describe the action_property shall contain at least one representation_item of type bounded_curve.
WR11: If the description of the machining_toolpath is either 'approach lift path angle' or 'approach lift path tangent', the machining_toolpath shall satisfy the following conditions:
WR12: If the description of the machining_toolpath is 'approach lift path angle', the machining_toolpath shall satisfy the following conditions:
WR13: If the description of the machining_toolpath is 'approach lift path tangent', the machining_toolpath shall be the definition of exactly one action_property with a name of 'radius', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR14: If the description of the machining_toolpath is 'cutter location trajectory', the machining_toolpath shall satisfy the following conditions:
WR15: If the description of the machining_toolpath is 'cutter contact trajectory', the machining_toolpath shall satisfy the following conditions:
WR16: If the description of the machining_toolpath is 'axis trajectory', 'cutter location trajectory', or 'cutter contact trajectory', the machining_toolpath shall satisfy the following conditions:
A machining_toolpath_sequence_relationship is a type of sequential_method that represents use of a Toolpath as an element of a sequence in an Operation or strategy. See the ARM definitions for Workpiece_setup in ISO 14649-10 and Along_path in ISO 14649-11 for more information.
*) ENTITY machining_toolpath_sequence_relationship SUBTYPE OF (sequential_method); END_ENTITY; (*
A machining_toolpath_speed_profile_representation is a type of representation that represents the variation of feedrate as the machine axes move through a tool path. See the ARM definition for Toolpath_speedprofile in ISO 14649-10 for more information.
*) ENTITY machining_toolpath_speed_profile_representation SUBTYPE OF (representation); WHERE WR1: (1 = SIZEOF (QUERY ( it <* SELF.items | ( (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.B_SPLINE_CURVE' IN TYPEOF(it))) OR (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND (it.description IN ['rapid'])) OR ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)) ) ))); END_ENTITY; (*
WR1: The items set shall contain exactly one representation_item that is either of type b_spline_curve, of type descriptive_representation_item with a description of 'side', or of type measure_representation_item and ratio_measure_with_unit.
A machining_touch_probing is a type of machining_operation that represents a measurement step in a machining process. See the ARM definitions for Touch_probing and subtypes in ISO 14649-10 for more information.
*) ENTITY machining_touch_probing SUBTYPE OF (machining_operation); WHERE WR1: (SELF.description IN ['feature complete probing', 'tool length probing', 'tool radius probing', 'workpiece probing', 'workpiece complete probing']); WR2: ((verify_required_action_property (SELF, 'security plane')) AND (verify_rep_item_for_action_property (SELF, 'security plane', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ELEMENTARY_SURFACE']))); WR3: ((verify_required_action_property (SELF, 'measured offset')) AND (verify_rep_item_for_action_property (SELF, 'measured offset', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE']))); WR4: NOT (SELF.description = 'workpiece probing') OR ((verify_required_action_property (SELF, 'start position')) AND (verify_rep_item_for_action_property (SELF, 'start position', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D'])) AND (1 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'workpiece probing')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'workpiece probing') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))) AND (verify_required_action_property (SELF, 'direction')) AND (verify_rep_item_for_action_property (SELF, 'direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_required_action_property (SELF, 'expected value')) AND (verify_rep_item_for_action_property (SELF, 'expected value', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.QUALIFIED_REPRESENTATION_ITEM'])) AND (1 = SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))) ); WR5: NOT (SELF.description = 'workpiece complete probing') OR ((1 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'workpiece complete probing')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'workpiece complete probing') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act))))) AND (verify_required_action_property (SELF, 'probing distance')) AND (verify_rep_item_for_action_property (SELF, 'probing distance', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.QUALIFIED_REPRESENTATION_ITEM'])) AND (1 = SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))) AND (verify_required_action_property (SELF, 'computed offset')) AND (verify_rep_type_for_action_property (SELF, 'computed offset', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OFFSET_VECTOR_REPRESENTATION'])) ); WR6: NOT (SELF.description IN ['tool length probing', 'tool radius probing']) OR ((verify_required_action_property (SELF, 'offset')) AND (verify_rep_item_for_action_property (SELF, 'offset', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.CARTESIAN_POINT'])) AND (verify_required_action_property (SELF, 'maximum wear')) AND (verify_length_measure_action_property (SELF, 'maximum wear')) AND (1 = SIZEOF (QUERY (mt <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_RESOURCE.USAGE') | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL' in TYPEOF(mt))))) ); END_ENTITY; (*
WR1: The description of the machining_touch_probing shall be either 'feature complete probing', 'workpiece probing', 'workpiece complete probing', 'tool length probing', or 'tool radius probing'.
WR2: The machining_touch_probing shall be the definition of exactly one action_property with a name of 'security plane', and the representation used to describe the action_property shall contain a representation_item of type elementary_surface.
WR3: The machining_touch_probing shall be the definition of exactly one action_property with a name of 'measured offset', and the representation used to describe the action_property shall contain a representation_item of type expression_representation_item and numeric_variable.
WR4: If the description of the machining_touch_probing is 'workpiece probing', the machining_touch_probing shall satisfy the following conditions:
WR5: If the description of the machining_touch_probing is 'workpiece complete probing', the machining_touch_probing shall satisfy the following conditions:
WR6: If the description of the machining_touch_probing is either 'tool length probing' or 'tool radius probing', the machining_touch_probing shall satisfy the following conditions:
A machining_twin_relationship is a type of action_method_relationship that represents the association of an Executable with another Executable as its twin_plan. See the Workplan.twin_plan for more information.
*) ENTITY machining_twin_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_usage_relationship is a type of action_method_relationship that represents the association of a Machine_usage with a Workplan. See the Workplan.its_machine-usage for more information.
*) ENTITY machining_usage_relationship SUBTYPE OF (action_method_relationship); END_ENTITY; (*
A machining_workingstep is a type of machining_process_executable that represents a step in a machining process. See the ARM definition for Machining_workingstep in ISO 14649-10 and Turning_workingstep in ISO 14649-12 for more information.
*) ENTITY machining_workingstep SUBTYPE OF (machining_process_executable); WHERE WR1: ((verify_optional_action_property (SELF, 'security plane')) AND (verify_rep_item_for_action_property (SELF, 'security plane', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ELEMENTARY_SURFACE']))); WR2: NOT (SELF.description = 'machining') OR ((verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_PROCESS'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FINAL_FEATURE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_PROCESS'])) AND (verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATION_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATION_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATION'])) ); WR3: NOT (SELF.description = 'turning') OR ((2 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_SEQUENCE_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_SEQUENCE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEATURE_PROCESS'])) AND (verify_required_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATION_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_OPERATION_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TURNING_TYPE_OPERATION'])) ); WR4: ((verify_optional_action_property (SELF, 'toolpath orientation')) AND (verify_rep_item_for_action_property (SELF, 'toolpath orientation', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); END_ENTITY; (*
WR1: The machining_workingstep shall be the definition of at most one action_property with a name of 'security plane', and the representation used to describe the action_property shall contain a representation_item of type elementary_surface.
WR2: If the description of the machining_workingstep is 'machining', the machining_workingstep shall satisfy the following conditions:
WR3: If the description of the machining_workingstep is 'turning', the machining_workingstep shall satisfy the following conditions:
WR4: The machining_workingstep shall be the definition of at most one action_property with a name of 'toolpath orientation', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
IP1: If the description of the machining_workingstep is 'turning', all sequential_method instances with a name of 'process feature' which refer to the machining_workingstep through the related attribute shall have unique sequence_position values.
A machining_workplan is a type of machining_process_executable that represents a sequence of steps in a machining process. See the ARM definition for Manufacturing_feature in ISO 14649-10 for more information.
*) ENTITY machining_workplan SUBTYPE OF (machining_process_executable); WHERE WR1: (1 <= get_count_of_relating_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_SEQUENCE_RELATIONSHIP'])) AND (verify_related_type_for_amr (SELF, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_SEQUENCE_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_PROCESS_EXECUTABLE'])); WR2: (verify_optional_action_property (SELF, 'channel')); WR3: (1 >= SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'setup')))) AND (0 = SIZEOF (QUERY (act <* USEDIN (SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION.CHOSEN_METHOD') | (act.name = 'setup') AND NOT ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PRODUCT_DEFINITION_PROCESS' IN TYPEOF (act)) ))); WR4: ((verify_optional_action_property (SELF, 'toolpath orientation')) AND (verify_rep_item_for_action_property (SELF, 'toolpath orientation', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.AXIS2_PLACEMENT_3D']))); END_ENTITY; (*
WR1: The machining_workplan shall be the relating_method of at least one machining_process_sequence_relationship, in which the related_method is of type machining_process_executable.
WR2: The machining_workplan shall be the definition of at most one action_property with a name of 'channel'.
WR3: The machining_workplan shall be the chosen_method of at most one product_definition_process with a name of 'setup'.
WR4: The machining_workplan shall be the definition of at most one action_property with a name of 'toolpath orientation', and the representation used to describe the action_property shall contain a representation_item of type axis2_placement_3d.
IP1: All machining_process_sequence_relationship instances which refer to the same machining_workplan through the relating_method attribute shall have unique sequence_position values.
A milling_type_operation is a type of machining_operation that represents the details of a milling step of a machining process. See the ARM definitions for Milling_type_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY milling_type_operation SUBTYPE OF (machining_operation); WHERE WR1: (verify_optional_action_property (SELF, 'overcut length')) AND (verify_length_measure_action_property (SELF, 'overcut length')); WR2: ((verify_optional_relating_amr_with_name (SELF, 'approach', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'approach', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_APPROACH_RETRACT_STRATEGY'])) ); WR3: ((verify_optional_relating_amr_with_name (SELF, 'retract', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'retract', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_APPROACH_RETRACT_STRATEGY'])) ); WR4: ((verify_optional_relating_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MILLING_TYPE_STRATEGY'])) ); END_ENTITY; (*
WR1: The milling_type_operation shall be the definition of at most one action_property with a name of 'overcut length', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit
WR2: The milling_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'approach', in which the related_method shall be of type machining_approach_retract_strategy.
WR3: The milling_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'retract', in which the related_method shall be of type machining_approach_retract_strategy.
WR4: The milling_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'machining', in which the related_method shall be of type milling_type_strategy.
A milling_type_strategy is a type of machining_strategy that represents the approach used to determine the motion of the cutting tool during a milling operation. See the ARM definitions for Two5D_milling_strategy, Freeform_strategy, and subtypes in ISO 14649-11 for more information.
*) ENTITY milling_type_strategy SUBTYPE OF (machining_strategy); WHERE WR1: NOT (SELF.description IN ['bidirectional', 'bidirectional contour', 'center milling', 'contour bidirectional', 'contour parallel', 'contour spiral', 'explicit', 'unidirectional']) OR ((verify_optional_action_property (SELF, 'overlap ratio')) AND (verify_ratio_measure_action_property (SELF, 'overlap ratio')) AND (verify_optional_action_property (SELF, 'multiple passes')) AND (verify_enumeration_action_property (SELF, 'multiple passes', ['multiple passes allowed', 'multiple passes not allowed'])) ); WR2: NOT (SELF.description = 'bidirectional') OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover direction')) AND (verify_enumeration_action_property (SELF, 'stepover direction', ['left', 'right'])) AND (verify_optional_action_property (SELF, 'connection strategy')) AND (verify_enumeration_action_property (SELF, 'connection strategy', ['straight line', 'lift shift plunge', 'degouge', 'loop back'])) ); WR3: NOT (SELF.description IN ['bidirectional contour', 'contour bidirectional']) OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover direction')) AND (verify_enumeration_action_property (SELF, 'stepover direction', ['left', 'right'])) AND (verify_optional_action_property (SELF, 'rotation direction')) AND (verify_enumeration_action_property (SELF, 'rotation direction', ['clockwise', 'counterclockwise'])) AND (verify_optional_action_property (SELF, 'spiral cutmode')) AND (verify_enumeration_action_property (SELF, 'spiral cutmode', ['climb', 'conventional'])) ); WR4: NOT (SELF.description IN ['contour parallel', 'contour spiral']) OR ((verify_optional_action_property (SELF, 'rotation direction')) AND (verify_enumeration_action_property (SELF, 'rotation direction', ['clockwise', 'counterclockwise'])) AND (verify_optional_action_property (SELF, 'cutmode')) AND (verify_enumeration_action_property (SELF, 'cutmode', ['climb', 'conventional'])) ); WR5: NOT (SELF.description = 'unidirectional') OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'cutmode')) AND (verify_enumeration_action_property (SELF, 'cutmode', ['climb', 'conventional'])) ); END_ENTITY; (*
WR1: If the description of the milling_type_strategy is either 'bidirectional', 'bidirectional contour', 'center milling', 'contour bidirectional', 'contour parallel', 'contour spiral', 'explicit', or 'unidirectional', the milling_type_strategy shall satisfy the following conditions:
WR2: If the description of the milling_type_strategy is 'bidirectional', the milling_type_strategy shall satisfy the following conditions:
WR3: If the description of the milling_type_strategy is either 'bidirectional contour' or 'contour bidirectional', the milling_type_strategy shall satisfy the following conditions:
WR4: If the description of the milling_type_strategy is either 'contour parallel' or 'contour spiral', the milling_type_strategy shall satisfy the following conditions:
WR5: If the description of the milling_type_strategy is 'unidirectional', the milling_type_strategy shall satisfy the following conditions:
An ngon_shape_representation specifies representation of a shape that is a volume defined as a ngon area of a defined length. The enclosed area shall be as defined by three or more straight sides.
NOTE This definition has been harmonized with the equivalent definition in ISO 10303-224.
*) ENTITY ngon_shape_representation SUBTYPE OF (shape_representation_with_parameters); WHERE WR1: (SIZEOF(SELF.items) = 5); WR2: (SIZEOF(QUERY ( it <* SELF.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1); WR3: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1); WR4: (SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND (it.name = 'corner radius')) )) = 1); WR5: SIZEOF (QUERY (it <* SELF.items | (SIZEOF (['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF (it)) = 2) AND (it.name IN ['circumscribed diameter','diameter across flats']) ))= 1; WR6: (SIZEOF(QUERY ( it <* SELF.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COUNT_MEASURE' IN TYPEOF(it\measure_with_unit.value_component)) AND (it.name = 'number of sides')) )) = 1); END_ENTITY; -- ngon_shape_representation (*
WR1: The ngon_shape_representation shall contain exactly five representation_items in its set of items.
WR2: One of the representation_items used for the implicit representation of a ngon_shape_representation shall be of type placement with a name of 'orientation'.
WR3: One of the representation_items used for the implicit representation of a ngon_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'length'.
WR4: One of the representation_items used for the implicit representation of a ngon_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'corner radius'.
WR5: One of the representation_items used for the implicit representation of a ngon_shape_representation shall be of type measure_representation_item and length_measure_with_unit with a name of 'circumscribed diameter' or 'diameter across flats'.
WR6: One of the representation_items used for the implicit representation of a ngon_shape_representation shall be of type measure_representation_item with a value_component of type count_measure and a name of 'number of sides'.
IP1: The location of the ngon_shape_representation shall be defined at the centre of the enclosed area.
IP2: The ngon_shape_representation shall be defined with the enclosed area in the X-Y plane with one of the sides of the ngon parallel to the X direction intersecting the negative Y axis. The length is along the Z direction.
A plane_milling_operation is a type of milling_type_operation that represents a 2.5D milling step in which material is removed perpendicular to the cutting tool axis. See the ARM definitions for Plane_milling_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY plane_milling_operation SUBTYPE OF (milling_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'axial cutting depth')) AND (verify_length_measure_action_property (SELF, 'axial cutting depth')); WR3: (verify_optional_action_property (SELF, 'allowance bottom')) AND (verify_length_measure_action_property (SELF, 'allowance bottom')); WR4: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance bottom')); END_ENTITY; (*
WR1: The description of the plane_milling_operation shall be either 'roughing' or 'finishing'.
WR2: The plane_milling_operation shall be the definition of at most one action_property with a name of 'axial cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: The plane_milling_operation shall be the definition of at most one action_property with a name of 'allowance bottom', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: If the description of the plane_milling_operation is 'roughing', the plane_milling_operation shall be the definition of exactly one action_property with a name of 'allowance bottom'.
NOTE This corresponds to local constraint WR1 on the ARM entity Plane_rough_milling in ISO 14649-11.
A side_milling_operation is a milling_type_operation that represents a 2.5D milling step in which material is removed parallel to the cutting tool axis. See the ARM definitions for Side_milling_operation and subtypes in ISO 14649-11 for more information.
*) ENTITY side_milling_operation SUBTYPE OF (milling_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'axial cutting depth')) AND (verify_length_measure_action_property (SELF, 'axial cutting depth')); WR3: (verify_optional_action_property (SELF, 'radial cutting depth')) AND (verify_length_measure_action_property (SELF, 'radial cutting depth')); WR4: (verify_optional_action_property (SELF, 'allowance side')) AND (verify_length_measure_action_property (SELF, 'allowance side')); WR5: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance side')); END_ENTITY; (*
WR1: The description of the side_milling_operation shall be either 'roughing' or 'finishing'.
WR2: The side_milling_operation shall be the definition of at most one action_property with a name of 'axial cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: The side_milling_operation shall be the definition of at most one action_property with a name of 'radial cutting depth', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR4: The side_milling_operation shall be the definition of at most one action_property with a name of 'allowance side', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR5: If the description of the side_milling_operation is 'roughing', the side_milling_operation shall be the definition of exactly one action_property with a name of 'allowance side'.
NOTE This corresponds to local constraint WR1 on the ARM entity Side_rough_milling in ISO 14649-11.
A tapping_operation is a type of drilling_type_operation that represents the details of a drilling step in which in internal threads are cut. See the ARM definitions for Tapping and Thread_drilling in ISO 14649-11 for more information.
*) ENTITY tapping_operation SUBTYPE OF (drilling_type_operation); WHERE WR1: (SELF.description IN ['tapping','thread drilling']); WR2: NOT (SELF.description = 'tapping') OR ((verify_optional_action_property (SELF, 'compensation chuck')) AND (verify_enumeration_action_property (SELF, 'compensation chuck', ['compensation chuck used', 'compensation chuck not used']))); WR3: NOT (SELF.description = 'thread drilling') OR ((verify_optional_action_property (SELF, 'helical movement on forward')) AND (verify_enumeration_action_property (SELF, 'helical movement on forward', ['helical movement on forward', 'no helical movement on forward']))); END_ENTITY; (*
WR1: The description of the tapping_operation shall be either 'tapping' or 'thread drilling'.
WR2: If the description of the tapping_operation is 'tapping', the tapping_operation shall be the definition of at most one action_property with a name of 'compensation chuck', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of either 'compensation chuck used' or 'compensation chuck not used'.
WR2: If the description of the tapping_operation is 'thread drilling', the tapping_operation shall be the definition of at most one action_property with a name of 'helical movement on forward', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of either 'helical movement on forward' or 'no helical movement on forward'.
A threading_turning_operation is a turning_type_operation. See the ARM definitions for Threading and subtypes in ISO 14649-12 for more information.
*) ENTITY threading_turning_operation SUBTYPE OF (turning_type_operation); WHERE WR1: (SELF.description IN ['roughing','finishing']); WR2: (verify_optional_action_property (SELF, 'allowance')) AND (verify_length_measure_action_property (SELF, 'allowance')); WR3: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance')); END_ENTITY; (*
WR1: The description of the threading_turning_operation shall be either 'roughing' or 'finishing'.
WR2: The threading_turning_operation shall be the definition of at most one action_property with a name of 'allowance', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: If the description of the threading_turning_operation is 'roughing', the threading_turning_operation shall be the definition of exactly one action_property with a name of 'allowance'.
NOTE This corresponds to local constraints WR1 on the ARM entity Threading_rough in ISO 14649-12.
A turning_type_operation is a type of machining_operation that represents the details of a turning step of a machining process. See the ARM definitions for Turning_machining_operation and subtypes in ISO 14649-12 for more information.
*) ENTITY turning_type_operation SUBTYPE OF (machining_operation); WHERE WR1: ((verify_optional_relating_amr_with_name (SELF, 'approach', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'approach', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_APPROACH_RETRACT_STRATEGY'])) ); WR2: ((verify_optional_relating_amr_with_name (SELF, 'retract', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'retract', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_APPROACH_RETRACT_STRATEGY'])) ); WR3: ((verify_optional_relating_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'])) AND (verify_related_type_for_amr_with_name (SELF, 'machining', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_STRATEGY_RELATIONSHIP'], ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TURNING_TYPE_STRATEGY'])) ); END_ENTITY; (*
WR1: The turning_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'approach', and a related_method of type machining_approach_retract_strategy.
WR2: The turning_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'retract', and a related_method of type machining_approach_retract_strategy.
WR3: The turning_type_operation shall be the relating_method of at most one machining_strategy_relationship with a name of 'machining', and a related_method of type turning_type_strategy.
A turning_type_strategy is a type of machining_strategy that represents the approach used to determine the motion of the cutting tool during a turning operation. See the ARM definitions for Turning_machining_strategy and subtypes in ISO 14649-12 for more information.
*) ENTITY turning_type_strategy SUBTYPE OF (machining_strategy); WHERE WR1: (SELF.description IN ['unidirectional', 'bidirectional', 'contour', 'thread', 'grooving', 'multistep grooving', 'explicit']); WR2: ((verify_optional_action_property (SELF, 'overcut length')) AND (verify_length_measure_action_property (SELF, 'overcut length')) ); WR3: ((verify_optional_action_property (SELF, 'multiple passes')) AND (verify_enumeration_action_property (SELF, 'multiple passes', ['multiple passes allowed', 'multiple passes not allowed'])) ); WR4: ((verify_optional_action_property (SELF, 'cutting depth')) AND (0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'cutting depth') | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (1 = SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LIST_REPRESENTATION_ITEM' IN TYPEOF(it.item_element)) AND (0 = SIZEOF (QUERY (ie <* it.item_element | NOT (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(ie)) = 2)))) )))) ))) ))) ); WR5: ((verify_optional_action_property (SELF, 'variable feedrate')) AND (verify_rep_type_for_action_property (SELF, 'variable feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'variable feedrate', ['relative speed'])) ); WR6: NOT (SELF.description = 'unidirectional') OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'back path direction')) AND (verify_rep_item_for_action_property (SELF, 'back path direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'lift direction')) AND (verify_rep_item_for_action_property (SELF, 'lift direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover direction')) AND (verify_rep_item_for_action_property (SELF, 'stepover direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'lift height')) AND (verify_length_measure_action_property (SELF, 'lift height')) AND (verify_optional_action_property (SELF, 'lift feedrate')) AND (verify_rep_type_for_action_property (SELF, 'lift feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'lift feedrate', ['feed speed', 'feed per revolution'])) AND (verify_optional_action_property (SELF, 'stepover feedrate')) AND (verify_rep_type_for_action_property (SELF, 'stepover feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'stepover feedrate', ['feed speed', 'feed per revolution'])) ); WR7: NOT (SELF.description = 'bidirectional') OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover direction')) AND (verify_rep_item_for_action_property (SELF, 'stepover direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover feedrate')) AND (verify_rep_type_for_action_property (SELF, 'stepover feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'stepover feedrate', ['feed speed', 'feed per revolution'])) ); WR8: NOT (SELF.description = 'contour') OR ((verify_optional_action_property (SELF, 'feed direction')) AND (verify_rep_item_for_action_property (SELF, 'feed direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'back path direction')) AND (verify_rep_item_for_action_property (SELF, 'back path direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'lift direction')) AND (verify_rep_item_for_action_property (SELF, 'lift direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'stepover direction')) AND (verify_rep_item_for_action_property (SELF, 'stepover direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'lift height')) AND (verify_length_measure_action_property (SELF, 'lift height')) AND (verify_optional_action_property (SELF, 'lift feedrate')) AND (verify_rep_type_for_action_property (SELF, 'lift feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'lift feedrate', ['feed speed', 'feed per revolution'])) AND (verify_optional_action_property (SELF, 'stepover feedrate')) AND (verify_rep_type_for_action_property (SELF, 'stepover feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'stepover feedrate', ['feed speed', 'feed per revolution'])) AND (verify_optional_action_property (SELF, 'variable stepover feedrate')) AND (verify_rep_type_for_action_property (SELF, 'variable stepover feedrate', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION'])) AND (verify_rep_name_for_action_property (SELF, 'variable stepover feedrate', ['relative speed'])) ); WR9: NOT (SELF.description = 'thread') OR ((verify_required_action_property (SELF, 'cut in amount')) AND (verify_enumeration_action_property (SELF, 'cut in amount', ['constant depth', 'variable depth', 'constant removal amount'])) AND (verify_required_action_property (SELF, 'threading direction')) AND (verify_enumeration_action_property (SELF, 'threading direction', ['left', 'right', 'center', 'left zigzag', 'right zigzag'])) AND (verify_optional_action_property (SELF, 'path return angle')) AND (verify_angle_measure_action_property (SELF, 'path return angle')) AND (verify_optional_action_property (SELF, 'lift height')) AND (verify_length_measure_action_property (SELF, 'lift height')) ); WR10: NOT (SELF.description IN ['grooving', 'multistep grooving']) OR ((verify_optional_action_property (SELF, 'grooving direction')) AND (verify_rep_item_for_action_property (SELF, 'grooving direction', ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DIRECTION'])) AND (verify_optional_action_property (SELF, 'travel distance')) AND (verify_length_measure_action_property (SELF, 'travel distance')) ); WR11: NOT (SELF.description = 'multistep grooving') OR ((verify_optional_action_property (SELF, 'retract distance')) AND (verify_length_measure_action_property (SELF, 'retract distance')) ); END_ENTITY; (*
WR1: The description of the turning_type_strategy shall be either 'unidirectional', 'bidirectional', 'contour', 'thread', 'grooving', 'multistep grooving', or 'explicit'.
WR2: The turning_type_strategy shall be the definition of at most one action_property with a name of 'overcut length', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
WR3: The turning_type_strategy shall be the definition of at most one action_property with a name of 'multiple passes', and the representation used to describe the action_property shall contain a representation_item of type descriptive_representation_item with a description of 'multiple passes allowed' or 'multiple passes not allowed'.
WR4: The turning_type_strategy shall be the definition of at most one action_property with a name of 'cutting depth', and the representation used to describe the action_property shall contain exactly one compound_representation_item, in which the item_element is of type list_representation_item and contains only instances of type type measure_representation_item and length_measure_with_unit.
WR5: The turning_type_strategy shall be the definition of at most one action_property with a name of 'variable feedrate', and the representation used to describe the action_property shall be of type machining_feed_speed_representation with a description of 'relative speed'.
WR6: If the description of the turning_type_strategy is 'unidirectional', the turning_type_strategy shall satisfy the following conditions:
WR7: If the description of the turning_type_strategy is 'bidirectional', the turning_type_strategy shall satisfy the following conditions:
WR8: If the description of the turning_type_strategy is 'contour', the turning_type_strategy shall satisfy the following conditions:
WR9: If the description of the turning_type_strategy is 'thread', the turning_type_strategy shall satisfy the following conditions:
WR10: If the description of the turning_type_strategy is either 'grooving' or 'multistep grooving', the turning_type_strategy shall satisfy the following conditions:
WR11: If the description of the turning_type_strategy is 'multistep grooving', the turning_type_strategy shall be the definition of at most one action_property with a name of 'retract distance', and the representation used to describe the action_property shall contain a representation_item of type measure_representation_item and length_measure_with_unit.
A via_arc_point is a cartesian_point. When appearing in the points list of a polyline, the via_arc_point defines an arc starting at the previous point in the polyline, passing through the via_arc_point, and ending at the next point in the polyline. The arc defined by the via_arc_point shall be less than 2π.
If two via points are considered coincident if any two consecutive points in the via re considered coincident, they shall be considered to decrine a straight line segment rather than an arc. context of enclosing representation. Extra via points between two non via points must define arcs of the same radius.
NOTE 1 Since the arc defined by a via is less than 2π, a full circle is described using more than one via point. The use of a via point to describe an arc is also found in the circular_path entity in ISO 10303-105.
If a via point and the preceeding or following point in a polyline are considered coincident, the via point shall be considered to define straight line segments rather than an arc.
NOTE 2 Two points are considered coincident if they lie within the uncertainty distance given by the global_uncertainty_assigned_context of the enclosing representation.
EXAMPLE In the exchange file fragment below, #10 describes a 270 degree arc on the XY plane, starting at point #20, passing through point #30 and ending at point #40. Instance #50 describes a complete circle on the XY plane, starting and ending at point #60, passing through point #70 and point #80.
/* 270 degree arc, centered at (0,0,0) */ #10=POLYLINE('',(#20,#30,#40)); #20=CARTESIAN_POINT('start',(0,1.,0)); #30=VIA_ARC_POINT('via',(1.,0,0)); #40=CARTESIAN_POINT('end',(-1.,0,0)); /* complete circle, centered at (0,0,0) */ #50=POLYLINE('',(#60,#30,#40,#60)); #60=CARTESIAN_POINT('start and end',(0,1.,0)); #40=VIA_ARC_POINT('via #1',(-1.,0,0)); #30=VIA_ARC_POINT('via #2',(1.,0,0));
Figure 23 illustrates the arc and a complete circle described by the exchange file fragment.
*) ENTITY via_arc_point SUBTYPE OF (cartesian_point); WHERE WR1: SIZEOF(USEDIN(SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.POLYLINE.POINTS')) > 0; WR2: (0 = SIZEOF (QUERY (pl <* USEDIN(SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.POLYLINE.POINTS') | ((pl.points[1] = SELF) OR (pl.points[HiIndex(pl.points)] = SELF)) ))); END_ENTITY; (*
WR1: The via_arc_point shall appear in the points list of at least one polyline.
WR2: The via_arc_point shall not appear as either the first or last element in the points list of any polyline.
A via_helix_point is a cartesian_point. When appearing in the points list of a polyline, the via_helix_point defines an helix starting at the previous point in the polyline, passing through the via_helix_point, and ending at the next point in the polyline. As with via_arc_point, when projected to the plane, the arc defined by the via_helix_point shall be less than 2π.
If a via point and the preceeding or following point in a polyline are considered coincident, the via point shall be considered to define straight line segments rather than a helix.
NOTE Two points are considered coincident if they lie within the uncertainty distance given by the global_uncertainty_assigned_context of the enclosing representation.
*) ENTITY via_helix_point SUBTYPE OF (cartesian_point); WHERE WR1: SIZEOF(USEDIN(SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.POLYLINE.POINTS')) > 0; WR2: (0 = SIZEOF (QUERY (pl <* USEDIN(SELF, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.POLYLINE.POINTS') | ((pl.points[1] = SELF) OR (pl.points[HiIndex(pl.points)] = SELF)) ))); END_ENTITY; (*
WR1: The via_helix_point shall appear in the points list of at least one polyline.
WR2: The via_helix_point shall not appear as either the first or last element in the points list of any polyline.
The base definition of the application_context entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the application_context entity:
The base definition of the application_protocol_definition entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the application_protocol_definition entity:
The base definition of the derived_unit entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the derived_unit entity:
The base definition of the named_unit entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the named_unit entity:
The base definition of the numeric_variable entity shall be as given in ISO 13584-20. The following modifications apply to this document.
The following global rule defined in this document applies to the numeric_variable entity:
The base definition of the process_property_association entity shall be as given in ISO 10303-49. The following modifications apply to this document.
The following global rule defined in this document applies to the process_property_association entity:
The base definition of the product entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the product entity:
The base definition of the product_definition_formation entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the product_definition_formation entity:
The base definition of the representation_item_relationship entity shall be as given in ISO 10303-43. The following modifications apply to this document.
The following global rule defined in this document applies to the representation_item_relationship entity:
The base definition of the shape_aspect entity shall be as given in ISO 10303-41. The following modifications apply to this document.
The following global rule defined in this document applies to the shape_aspect entity:
The application_context_requires_ap_definition rule specifies that each instance of application_context shall be referenced by exactly one application_protocol_definition that specifies this document.
*) RULE application_context_requires_ap_definition FOR (application_context, application_protocol_definition); WHERE WR1: (0 = SIZEOF (QUERY (ac <* application_context | NOT (1 = SIZEOF (QUERY (apd <* application_protocol_definition | (apd.application :=: ac) AND (apd.application_interpreted_model_schema_name = 'model_based_integrated_manufacturing_schema')))) ))); END_RULE; (*
application_context: the set of all instances of application_context.
application_protocol_definition: the set of all instances of application_protocol_definition.
WR1: For each instance of application_context, there shall be exactly one instance of application_protocol_definition that references the instance of application_context as its application with a value of 'model_based_integrated_manufacturing_schema' as its application_interpreted_model_schema_name.
The dependent_instantiable_derived_unit rule specifies that each instance of derived_unit is dependent on its usage to define another entity.
*) RULE dependent_instantiable_derived_unit FOR (derived_unit); WHERE WR1: (0 = SIZEOF (QUERY (du <* derived_unit | NOT (1 <= SIZEOF (USEDIN (du, ''))) ))); END_RULE; (*
derived_unit: the set of all instances of derived_unit.
WR1: For each instance of derived_unit, there shall be at least one reference to the derived_unit instance from an attribute of another entity.
The dependent_instantiable_named_unit rule specifies that each instance of named_unit is dependent on its usage to define another entity.
*) RULE dependent_instantiable_named_unit FOR (named_unit); WHERE WR1: (0 = SIZEOF (QUERY (nu <* named_unit | NOT (1 <= SIZEOF (USEDIN (nu, ''))) ))); END_RULE; (*
named_unit: the set of all instances of named_unit.
WR1: For each instance of named_unit, there shall be at least one reference to the named_unit instance from an attribute of another entity.
The feature_optional_machining_process_property rule specifies that each feature_definition or transition_feature instance shall be associated with at most one property_process having a name of 'machining'.
*) RULE feature_optional_machining_property_process FOR ( shape_aspect, process_property_association ); WHERE WR1: (0 = SIZEOF (QUERY (sa <* shape_aspect | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.FEATURE_DEFINITION' IN TYPEOF (sa)) OR ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TRANSITION_FEATURE' IN TYPEOF (sa))) AND NOT (1 >= SIZEOF (QUERY (ppa <* process_property_association | ((ppa.property_or_shape :=: sa) AND (ppa.process.name = 'machining'))))) ))); END_RULE; (*
shape_aspect: the set of all instances of shape_aspect.
process_property_association: the set of all instances of process_property_association.
WR1: Each shape_aspect that is an instance of either feature_definition or transition_feature shall appear as the property_or_shape of at most one process_property_association in which the process attribute refers to a property_process having a name of 'machining'.
The nc_variable_compatible_initial_value rule specifies that each instance of expression_item_representation_item that references a numeric_variable shall be associated with at most one initial value, given by a literal_value. Furthermore, the initial value shall be of type int_literal if the numeric_variable is of type int_numeric_variable, and of type real_literal if the numeric_variable is of type real_numeric_variable.
*) RULE nc_variable_compatible_initial_value FOR (expression_item_representation_item, representation_item_relationship); WHERE -- each nc_variable has at most one one initial value WR1: (0 = SIZEOF (QUERY (nv <* expression_item_representation_item | ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE' IN TYPEOF (nv.item)) AND NOT (1 >= SIZEOF (QUERY (rir <* representation_item_relationship | (rir.description = 'initial value') AND (rir.relating_representation_item :=: nv) )))))); -- the types on either side of the initial value relationship must match -- each nc_variable has at most one one initial value WR2: (0 = SIZEOF (QUERY (rir <* representation_item_relationship | (rir.description = 'initial value') AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_ITEM_REPRESENTATION_ITEM' IN TYPEOF (rir.relating_representation_item)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.EXPRESSION_ITEM_REPRESENTATION_ITEM' IN TYPEOF (rir.related_representation_item)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_VARIABLE' IN TYPEOF (rir.relating_representation_item\expression_item_representation_item.item)) AND NOT ((('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.INT_NUMERIC_VARIABLE' IN TYPEOF (rir.relating_representation_item\expression_item_representation_item.item)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.INT_LITERAL' IN TYPEOF (rir.related_representation_item\expression_item_representation_item.item))) OR ((('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.REAL_NUMERIC_VARIABLE' IN TYPEOF (rir.relating_representation_item\expression_item_representation_item.item)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.REAL_LITERAL' IN TYPEOF (rir.related_representation_item\expression_item_representation_item.item) ))))))); END_RULE; (*
expression_item_representation_item: the set of all instances of expression_item_representation_item.
representation_item_relationship: the set of all instances of representation_item_relationship.
WR1: Each instance of expression_representation_item that is also of type numeric_variable shall appear as relating in at most one representation_item_relationship in which the name is 'initial value'.
WR2: Each instance representation_item_relationship in which name is 'initial value' and relating is of type numeric_variable shall have either relating of type int_numeric_variable and related of type int_literal or relating of type real_numeric_variable and related of type real_literal.
The product_requires_version rule specifies that each instance of product shall be referenced by at least one instance of product_definition_formation.
*) RULE product_requires_version FOR (product, product_definition_formation); WHERE WR1: (0 = SIZEOF (QUERY (prod <* product | NOT (1 <= SIZEOF (QUERY (pdf <* product_definition_formation | (prod :=: pdf.of_product)))) ))); END_RULE; (*
product: the set of all instances of product.
product_definition_formation: the set of all instances of product_definition_formation.
WR1: For each instance of product, there shall be at least one instance of product_definition_formation that contains an of_product attribute value equal to the product.
The get_action_property function returns the set of action_property instances that refer to the input characterized_action_definition and have a name equal to the input parameter prop_name.
*) FUNCTION get_action_property ( cad: characterized_action_definition; prop_name: STRING ): SET OF action_property; RETURN (bag_to_set (QUERY (ap <* USEDIN (cad, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_PROPERTY.DEFINITION') | (ap.name = prop_name)))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to return.
prop_name: the string that appears as the name of the action_property instances to return.
The get_count_of_relating_amr function returns the number of action_method_relationship instances in which the input action_method appears as the relating_method and the relationship is of all types which appear in the amr_types input parameter.
*) FUNCTION get_count_of_relating_amr ( am: action_method; amr_types: SET OF STRING ): INTEGER; RETURN (SIZEOF (QUERY (amr <* get_relating_amr (am) | (SIZEOF(amr_types * TYPEOF(amr)) = SIZEOF(amr_types)) ))); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The get_count_of_relating_amr_with_name function returns the number of action_method_relationship instances in which the input action_method appears as the relating_method, the relationship is of all types which appear in the amr_types input parameter, and the input parameter amr_name appears as the name of the action_method_relationship.
*) FUNCTION get_count_of_relating_amr_with_name ( am: action_method; amr_name: STRING amr_types: SET OF STRING ): INTEGER; RETURN (SIZEOF (QUERY (amr <* get_relating_amr (am) | ((amr.name = amr_name) AND (SIZEOF(amr_types * TYPEOF(amr)) = SIZEOF(amr_types))) ))); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_name: the string that appears as the name of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The get_relating_amr function returns the set of action_method_relationship instances in which the input action_method appears as the relating_method.
*) FUNCTION get_relating_amr (am: action_method) : SET OF action_method_relationship; RETURN (bag_to_set (USEDIN (am, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.ACTION_METHOD_RELATIONSHIP.RELATING_METHOD'))); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to return.
The get_resource_property function returns the set of resource_property instances that refer to the input characterized_resource_definition and have a name equal to the input parameter prop_name.
*) FUNCTION get_resource_property ( crd: characterized_resource_definition; prop_name: STRING ): SET OF resource_property; RETURN (bag_to_set (QUERY (rp <* USEDIN (crd, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.RESOURCE_PROPERTY.RESOURCE') | (rp.name = prop_name)))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the resource of the resource_property instances to return.
prop_name: the string that appears as the name of the resource_property instances to return.
The get_tool_body_item function returns the set of representation_item instances that have a name equal to the input parameter prop_name and appear in the items set of a representation of type machining_tool_body_representation which describes a resource_property with a name of 'tool body' and a resource which refers to the input machining_tool.
*) FUNCTION get_tool_body_item ( mt : machining_tool; prop_name : STRING ): SET OF representation_item; LOCAL props : SET OF resource_property; preps : SET OF resource_property_representation; items : SET OF representation_item; END_LOCAL; props := get_resource_property (mt, 'tool body'); REPEAT i := 1 TO HIINDEX(props); preps := preps + USEDIN (props[i], 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'RESOURCE_PROPERTY_REPRESENTATION.PROPERTY'); END_REPEAT; REPEAT i := 1 TO HIINDEX(preps); IF ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MACHINING_TOOL_BODY_REPRESENTATION' IN TYPEOF (preps[i].representation)) THEN items := items + preps[i].representation.items; END_IF; END_REPEAT; RETURN (bag_to_set (QUERY (it <* items | (it.name = prop_name)))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to return.
prop_name: the string that appears as the name of the representation_item instances to return.
The verify_angle_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and plane_angle_measure_with_unit.
*) FUNCTION verify_angle_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_action_property(cad, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_angle_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and plane_angle_measure_with_unit.
*) FUNCTION verify_angle_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_angle_measure_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and plane_angle_measure_with_unit.
*) FUNCTION verify_angle_measure_resource_property ( crd : characterized_resource_definition; prop_name : STRING ): LOGICAL; RETURN (verify_rep_item_for_resource_property (crd, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
The verify_angle_measure_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if all such representation_item instances are of type measure_representation_item and plane_angle_measure_with_unit.
*) FUNCTION verify_angle_measure_tool_body_item ( mt : machining_tool; prop_name : STRING ): LOGICAL; RETURN (verify_rep_item_for_tool_body(mt, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_ballnose_endmill_dimensions function examines the representation_item instances that are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. It returns true if and only if the items meet certain value requirements.
*) FUNCTION verify_ballnose_endmill_dimensions ( mt : machining_tool ): LOGICAL; LOCAL rads : SET OF REPRESENTATION_ITEM := get_tool_body_item (mt, 'edge radius'); dias : SET OF REPRESENTATION_ITEM := get_tool_body_item (mt, 'effective cutting diameter'); END_LOCAL; RETURN ((0 = SIZEOF(rads)) OR ((1 = SIZEOF(rads)) AND (1 = SIZEOF(dias)) AND (rads[1].value_component = dias[1].value_component/2)) ); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
The verify_bullnose_endmill_dimensions function examines the representation_item instances that are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. It returns true if and only if the items meet certain value requirements.
*) FUNCTION verify_bullnose_endmill_dimensions ( mt : machining_tool ): LOGICAL; LOCAL rads : SET OF REPRESENTATION_ITEM := get_tool_body_item (mt, 'edge radius'); dias : SET OF REPRESENTATION_ITEM := get_tool_body_item (mt, 'effective cutting diameter'); END_LOCAL; RETURN ((1 = SIZEOF(rads)) AND (1 = SIZEOF(dias)) AND (rads[1].value_component < dias[1].value_component/2) ); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
The verify_count_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a measure_representation_item with a value_component of type count_measure.
*) FUNCTION verify_count_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | NOT ( (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COUNT_MEASURE' IN TYPEOF(it.value_component))) ))) ))) )))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_count_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and has a value_component of type count_measure.
*) FUNCTION verify_count_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COUNT_MEASURE' IN TYPEOF(it.value_component)))))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_count_measure_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a measure_representation_item with a value_component of type count_measure.
*) FUNCTION verify_count_measure_resource_property ( crd : characterized_resource_definition; prop_name : STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_resource_property (crd, prop_name) | NOT ( (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'RESOURCE_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COUNT_MEASURE' IN TYPEOF(it.value_component))) ))) ))) )))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
The verify_count_measure_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if all such representation_item instances are of type measure_representation_item with a value_component of type count_measure.
*) FUNCTION verify_count_measure_tool_body_item ( mt : machining_tool; prop_name : STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (it <* get_tool_body_item (mt, prop_name) | NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.COUNT_MEASURE' IN TYPEOF(it.value_component))) ))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_descriptive_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type descriptive_representation_item.
*) FUNCTION verify_descriptive_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_action_property(cad, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'])); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_enumeration_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a descriptive_representation_item with a description value that appears in the prop_values set of strings.
*) FUNCTION verify_enumeration_action_property ( cad: characterized_action_definition; prop_name: STRING; prop_values: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | NOT ( (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND (it.description IN prop_values)) ))) ))) )))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
prop_values: the set of string values that the description attribute of a descriptive_representation_item is to be compared against.
The verify_enumeration_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a descriptive_representation_item with a description value that appears in the prop_values set of strings.
*) FUNCTION verify_enumeration_resource_property ( crd : characterized_resource_definition; prop_name : STRING; prop_values : SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_resource_property (crd, prop_name) | NOT ( (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'RESOURCE_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND (it.description IN prop_values)) ))) ))) )))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
prop_values: the set of string values that the description attribute of a descriptive_representation_item is to be compared against.
The verify_enumeration_measure_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if all such representation_item instances are of type descriptive_representation_item with a description value that appears in the prop_values set of strings.
*) FUNCTION verify_enumeration_tool_body_item ( mt : machining_tool; prop_name : STRING; prop_values : SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (it <* get_tool_body_item (mt, prop_name) | NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND (it.description IN prop_values)) ))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
prop_values: the set of string values that the description attribute of a descriptive_representation_item is to be compared against.
The verify_length_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and length_measure_with_unit.
*) FUNCTION verify_length_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_action_property (cad, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_length_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and length_measure_with_unit.
*) FUNCTION verify_length_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_length_measure_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and length_measure_with_unit.
*) FUNCTION verify_length_measure_resource_property ( crd: characterized_resource_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_resource_property (crd, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
The verify_length_measure_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if all such representation_item instances are of type measure_representation_item and length_measure_with_unit.
*) FUNCTION verify_length_measure_tool_body_item ( mt : machining_tool; prop_name : STRING ): LOGICAL; RETURN (verify_rep_item_for_tool_body(mt, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.LENGTH_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_linear_speed_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and has a value_component of type numeric_measure.
*) FUNCTION verify_linear_speed_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_MEASURE' IN TYPEOF(it.value_component)))))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_numeric_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and has a value_component of type numeric_measure.
*) FUNCTION verify_numeric_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; -- All properties have matching representations. The reason we test -- for "nothing matching the negation" rather than "something matching -- the positive" is so that we return true if there are no properties. -- RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | -- property has no matching representations NOT ( -- there is at least one rep with matching rep items (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | -- property representation has at least one matching rep item (0 < SIZEOF (QUERY (it <* prep.representation.items | (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_MEASURE' IN TYPEOF(it.value_component))) ))) ))) )))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_optional_action_property function returns true if and only if there is at most one action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name.
*) FUNCTION verify_optional_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (1 >= SIZEOF (get_action_property (cad, prop_name))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_optional_relating_amr function returns true if and only if there is at most one action_method_relationship in which the input action_method appears as the relating_method and the action_method_relationship is of all types which appear in the amr_types input parameter.
*) FUNCTION verify_optional_relating_amr ( am: action_method; amr_types: SET OF STRING ): LOGICAL; RETURN (1 >= get_count_of_relating_amr (am, amr_types)); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The verify_optional_relating_amr_with_name function returns true if and only if there is at most one action_method_relationship in which the input action_method appears as the relating_method, the action_method_relationship is of all types which appear in the amr_types input parameter, and the input parameter amr_name appears as the name of the action_method_relationship.
*) FUNCTION verify_optional_relating_amr_with_name ( am: action_method; amr_name: STRING amr_types: SET OF STRING ): LOGICAL; RETURN (1 >= get_count_of_relating_amr_with_name ( am, amr_name, amr_types)); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_name: the string that appears as the name of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The verify_optional_rep_item function returns true if and only if the items set of the input representation contains at most one representation_item with a name equal to the input parameter prop_name.
*) FUNCTION verify_optional_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (1 >= SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_optional_resource_property function returns true if and only if there is at most one resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name.
*) FUNCTION verify_optional_resource_property ( crd: characterized_resource_definition; prop_name: STRING ): LOGICAL; RETURN (1 >= SIZEOF (get_resource_property (crd, prop_name))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
The verify_optional_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if there is at most one such representation_item instance.
*) FUNCTION verify_optional_tool_body_item ( mt : machining_tool; prop_name : STRING ): LOGICAL; RETURN (1 >= SIZEOF (get_tool_body_item (mt, prop_name))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_pressure_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and has a value_component of type numeric_measure.
*) FUNCTION verify_pressure_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_numeric_measure_action_property (cad, prop_name)); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_ratio_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and ratio_measure_with_unit.
*) FUNCTION verify_ratio_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_action_property (cad, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.RATIO_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_ratio_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and ratio_measure_with_unit.
*) FUNCTION verify_ratio_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_related_type_for_amr function evaluates the action_method_relationship instances in which the input action_method appears as relating_method, and the relationship is of all types which appear in the amr_types input parameter. The function returns true if and only if all such action_method_relationship have a related_method that is of all types which appear in the types input parameter.
*) FUNCTION verify_related_type_for_amr ( am: action_method; amr_types: SET OF STRING types: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (amr <* get_relating_amr (am) | (SIZEOF(amr_types * TYPEOF(amr)) = SIZEOF(amr_types)) AND NOT (SIZEOF(types * TYPEOF(amr.related_method)) = SIZEOF(types)) ))); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
types: the set of desired type names for the action_method that appears as the related_method of the action_method_relationship instances.
The verify_related_type_for_amr_with_name function evaluates the action_method_relationship instances in which the input action_method appears as the relating_method, the relationship is of all types which appear in the amr_types input parameter, and the name is equal to the amr_name input parameter . The function returns true if and only if all such action_method_relationship have a related_method that is of all types which appear in the types input parameter.
*) FUNCTION verify_related_type_for_amr_with_name ( am: action_method; amr_name: STRING; amr_types: SET OF STRING types: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (amr <* get_relating_amr (am) | (amr.name = amr_name) AND (SIZEOF(amr_types * TYPEOF(amr)) = SIZEOF(amr_types)) AND NOT (SIZEOF(types * TYPEOF(amr.related_method)) = SIZEOF(types)) ))); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_name: the string that appears as the name of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
types: the set of desired type names for the action_method that appears as the related_method of the action_method_relationship instances.
The verify_rep_item_for_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of all types which appear in the rep_item_types input parameter.
*) FUNCTION verify_rep_item_for_action_property ( cad: characterized_action_definition; prop_name: STRING; rep_item_types: SET OF STRING ): LOGICAL; -- All properties have matching representations. The reason we test -- for "nothing matching the negation" rather than "something matching -- the positive" is so that we return true if there are no properties. -- RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | NOT ( (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (SIZEOF (rep_item_types * TYPEOF(it)) = SIZEOF (rep_item_types)))) ))) )) ))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
rep_item_types: the set of desired representation_item type names.
The verify_rep_item_for_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a representation_item that is of all types which appear in the rep_item_types input parameter.
*) FUNCTION verify_rep_item_for_resource_property ( crd: characterized_resource_definition; prop_name: STRING; rep_item_types: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_resource_property (crd, prop_name) | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.' + 'RESOURCE_PROPERTY_REPRESENTATION.PROPERTY') | (0 < SIZEOF (QUERY (it <* prep.representation.items | (SIZEOF (rep_item_types * TYPEOF(it)) = SIZEOF (rep_item_types))))) ))) ))); END_FUNCTION; (*
cad: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
rep_item_types: the set of desired representation_item type names.
The verify_rep_item_for_tool_body function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if all such representation_item instances are of all types which appear in the rep_item_types input parameter.
*) FUNCTION verify_rep_item_for_tool_body ( mt : machining_tool; prop_name : STRING; rep_item_types : SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (it <* get_tool_body_item (mt, prop_name) | NOT ((SIZEOF (rep_item_types * TYPEOF(it)) = SIZEOF (rep_item_types))) ))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
rep_item_types: the set of desired representation_item type names.
The verify_rep_name_for_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation with a name that appear in the desc_names input parameter.
*) FUNCTION verify_rep_name_for_action_property ( cad: characterized_action_definition; prop_name: STRING; desc_names: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (prep.representation.name IN desc_names) ))) ))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
desc_names: the set of string values to compare against the name of each representation.
The verify_rep_type_for_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation that is of all types which appear in the rep_types input parameter.
*) FUNCTION verify_rep_type_for_action_property ( cad: characterized_action_definition; prop_name: STRING; rep_types: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_action_property (cad, prop_name) | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (SIZEOF(rep_types * TYPEOF(prep.representation)) = SIZEOF(rep_types)) ))) ))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
rep_types: the set of desired representation type names.
The verify_rep_type_for_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation that is of all types which appear in the rep_types input parameter.
*) FUNCTION verify_rep_type_for_resource_property ( crd: characterized_resource_definition; prop_name: STRING; rep_types: SET OF STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY (prop <* get_resource_property (crd, prop_name) | NOT (0 < SIZEOF (QUERY (prep <* USEDIN (prop, 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.'+ 'RESOURCE_PROPERTY_REPRESENTATION.PROPERTY') | (SIZEOF(rep_types * TYPEOF(prep.representation)) = SIZEOF(rep_types)) ))) ))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
rep_types: the set of desired representation type names.
The verify_required_action_property function returns true if and only if there is exactly one action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name.
*) FUNCTION verify_required_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (1 = SIZEOF (get_action_property (cad, prop_name))); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_required_relating_amr function returns true if and only if there is exactly one action_method_relationship in which the input action_method appears as the relating_method and the action_method_relationship is of all types which appear in the amr_types input parameter.
*) FUNCTION verify_required_relating_amr ( am: action_method; amr_types: SET OF STRING ): LOGICAL; RETURN (1 = get_count_of_relating_amr (am, amr_types)); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The verify_required_relating_amr_with_name function returns true if and only if there is exactly one action_method_relationship in which the input action_method appears as the relating_method, the action_method_relationship is of all types which appear in the amr_types input parameter, and the input parameter amr_name appears as the name of the action_method_relationship.
*) FUNCTION verify_required_relating_amr_with_name ( am: action_method; amr_name: STRING amr_types: SET OF STRING ): LOGICAL; RETURN (1 = get_count_of_relating_amr_with_name ( am, amr_name, amr_types)); END_FUNCTION; (*
am: the action_method that appears as the relating_method of the action_method_relationship instances to examine.
amr_name: the string that appears as the name of the action_method_relationship instances to examine.
amr_types: the set of desired type names for the action_method_relationship instances.
The verify_required_rep_item function returns true if and only if the items set of the input representation contains exactly one representation_item with a name equal to the input parameter prop_name.
*) FUNCTION verify_required_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (1 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_required_resource_property function returns true if and only if there is exactly one resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name.
*) FUNCTION verify_required_resource_property ( crd: characterized_resource_definition; prop_name: STRING ): LOGICAL; RETURN (1 = SIZEOF (get_resource_property (crd, prop_name))); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
The verify_required_tool_body_item function examines the representation_item instances that have a name equal to the input parameter prop_name and are associated with the input machining_tool through a resource_property with a name of 'tool body' and a representation of type machining_tool_body_representation. The function returns true if and only if there is at most one such representation_item instance.
*) FUNCTION verify_required_tool_body_item ( mt : machining_tool; prop_name : STRING ): LOGICAL; RETURN (1 = SIZEOF (get_tool_body_item (mt, prop_name))); END_FUNCTION; (*
mt: the machining_tool that is related through a resource_property to the representation_item instances to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_rotary_speed_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and has a value_component of type numeric_measure.
*) FUNCTION verify_rotary_speed_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.NUMERIC_MEASURE' IN TYPEOF(it.value_component)))))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_time_measure_action_property function evaluates each action_property that refers to the input characterized_action_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such action_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and time_measure_with_unit.
*) FUNCTION verify_time_measure_action_property ( cad: characterized_action_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_action_property(cad, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TIME_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
cad: the characterized_action_definition that appears as the definition of the action_property instances to examine.
prop_name: the string that appears as the name of the action_property instances to examine.
The verify_time_measure_rep_item function returns true if and only if the items set of the input representation contains a representation_item with a name equal to the input parameter prop_name that is of type measure_representation_item and ratio_measure_with_unit.
*) FUNCTION verify_time_measure_rep_item ( rep: representation; prop_name: STRING ): LOGICAL; RETURN (0 = SIZEOF (QUERY ( it <* rep.items | (it.name = prop_name) AND NOT (SIZEOF([ 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TIME_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2)))); END_FUNCTION; (*
rep: the representation to examine.
prop_name: the string that appears as the name of the representation_item instances to examine.
The verify_time_measure_resource_property function evaluates each resource_property that refers to the input characterized_resource_definition and has a name equal to the input parameter prop_name. The function returns true if and only if all such resource_properties have an associated representation in which the items set contains a representation_item that is of type measure_representation_item and time_measure_with_unit.
*) FUNCTION verify_time_measure_resource_property ( crd: characterized_resource_definition; prop_name: STRING ): LOGICAL; RETURN (verify_rep_item_for_resource_property (crd, prop_name, ['MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'MODEL_BASED_INTEGRATED_MANUFACTURING_SCHEMA.TIME_MEASURE_WITH_UNIT'])); END_FUNCTION; (*
crd: the characterized_resource_definition that appears as the definition of the resource_property instances to examine.
prop_name: the string that appears as the name of the resource_property instances to examine.
*) END_SCHEMA; (*
© ISO 2022 — All rights reserved