Application module: Default tolerance | ISO/TS 10303-1052:2014-02(E) © ISO |
This clause specifies the EXPRESS schema derived from the mapping table. It uses elements from the common resources or from other application modules and defines the EXPRESS constructs that are specific to this part of ISO 10303.
This clause constitutes the Module Interpreted Module (MIM) of the application module.
This clause also specifies the modifications that apply to the constructs imported from the common resources.
The following restrictions apply to the use, in this schema, of constructs defined in common resources or in application modules:
*)
SCHEMA Default_tolerance_mim;
USE FROM
Document_assignment_mim;
--
ISO/TS 10303-1122
USE FROM
Foundation_representation_mim;
--
ISO/TS 10303-1006
USE FROM
Measure_representation_mim;
--
ISO/TS 10303-1118
USE FROM
Default_setting_association_mim;
--
ISO/TS 10303-1809
USE FROM
representation_schema
--
ISO 10303-43
(compound_item_definition,
compound_representation_item,
representation,
set_representation_item);
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Document_assignment_mim ISO/TS 10303-1122 Foundation_representation_mim ISO/TS 10303-1006 Measure_representation_mim ISO/TS 10303-1118 Default_setting_association_mim ISO/TS 10303-1809 representation_schema ISO 10303-43
NOTE 2 See Annex D, Figures D.1and D.2 for a graphical representation of this schema.
This subclause specifies the MIM type for this application module. The MIM type and definition is specified below.
The dt_document_reference_item type is an extension of the document_reference_item type. It adds the data type property_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
dt_document_reference_item =
SELECT
BASED_ON
document_reference_item
WITH
(property_definition);
END_TYPE;
(*
This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.
EXPRESS specification:
*)
ENTITY default_tolerance_table
SUBTYPE OF (representation);
WHERE
WR1: SIZEOF( QUERY( i <* SELF.items | NOT('DEFAULT_TOLERANCE_MIM.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0;
WR2: (SIZEOF( QUERY( rr <* USEDIN(SELF,'REPRESENTATION_SCHEMA.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general
tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'REPRESENTATION_SCHEMA.' + 'REPRESENTATION_RELATIONSHIP.REP_1')
| (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'REPRESENTATION_SCHEMA.'
+ 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0);
END_ENTITY;
(*
Formal propositions:
WR1: An instance of default_tolerance_table shall contain only representation_items of type default_tolerance_table_cell in its set or items.
WR2: An instance of default_tolerance_table shall not be referenced by any representation_relationship except as rep 1 by zero or more representation_relationships with a name of 'general tolerance definition'. If such representation_relationships exist, they shall reference as rep 2 representation s with a name of 'default tolerances'.
EXPRESS specification:
*)
ENTITY default_tolerance_table_cell
SUBTYPE OF (compound_representation_item);
WHERE
WR1: SIZEOF(QUERY( x <* USEDIN(SELF,'REPRESENTATION_SCHEMA.' + 'REPRESENTATION.ITEMS') | 'DEFAULT_TOLERANCE_MIM.' + 'DEFAULT_TOLERANCE_TABLE'
IN TYPEOF(x)))=1;
WR2: default_tolerance_table_cell_wr2(SELF\compound_representation_item.item_element);
WR3: default_tolerance_table_cell_wr3(SELF\compound_representation_item.item_element);
WR4: default_tolerance_table_cell_wr4(SELF\compound_representation_item.item_element);
WR5: default_tolerance_table_cell_wr5(SELF\compound_representation_item.item_element);
END_ENTITY;
(*
Formal propositions:
WR1: A default_tolerance_table_cell shall be in the set of items of exactly one default_tolerance_table .
WR2: Each instance of default_tolerance_table_cell shall refer to at most five representation_item.
WR3: Either exactly one representation_item in the set of item elements shall be a measure_representation_item with the name of 'significant number of digits' or there shall be two representation_items of type measure_representation_item where one of them has the name of 'lower limit' and the other one has the name of 'upper limit'.
WR4: Either exactly one representation_item in the set of item elements shall be a measure_representation_item with the name of 'plus minus tolerance value' or there shall be two representation_items of type measure_representation_item where one of them has the name of 'lower tolerance value' and the other one has the name of 'upper tolerance value'.
WR5: At most one representation_item in the set of item elements shall be of type descriptive_representation_item. If present, this descriptive_representation_item shall have a name of 'cell description'.
This subclause specifies the MIM functions for this module. The MIM functions and definitions are specified below.
NOTE This function realises the second local rule of default_tolerance_table_cell.
EXPRESS specification:
*)
FUNCTION default_tolerance_table_cell_wr2 (agg : compound_item_definition) : BOOLEAN;
BEGIN IF SIZEOF(agg) <= 5 THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
(*
Argument definitions:
agg: the aggregate of instances which are tested.
NOTE This function realises the third local rule of default_tolerance_table_cell.
EXPRESS specification:
*)
FUNCTION default_tolerance_table_cell_wr3 (agg : compound_item_definition) : BOOLEAN;
BEGIN IF (SIZEOF(QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR ((SIZEOF(QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\representation_item.name = 'lower limit')) )) = 1) AND (SIZEOF( QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\representation_item.name = 'upper limit')) )) = 1)) THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
(*
Argument definitions:
agg: the aggregate of instances which are tested.
NOTE This function realises the fourth local rule of default_tolerance_table_cell.
EXPRESS specification:
*)
FUNCTION default_tolerance_table_cell_wr4 (agg : compound_item_definition) : BOOLEAN;
BEGIN IF (SIZEOF(QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR ((SIZEOF(QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( i\representation_item.name = 'lower tolerance value')) )) = 1) AND (SIZEOF( QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
(*
Argument definitions:
agg: the aggregate of instances which are tested.
NOTE This function realises the fifth local rule of default_tolerance_table_cell.
EXPRESS specification:
*)
FUNCTION default_tolerance_table_cell_wr5 (agg : compound_item_definition) : BOOLEAN;
BEGIN IF (SIZEOF(QUERY ( i <* agg | ('DEFAULT_TOLERANCE_MIM.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND (SIZEOF(QUERY ( i <* agg | ('DEFAULT_TOLERANCE_MIM.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) = SIZEOF(QUERY ( i <* agg | (('DEFAULT_TOLERANCE_MIM.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\representation_item.name = 'cell description'))) )) THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
(*
Argument definitions:
agg: the aggregate of instances which are tested.
*)
END_SCHEMA; -- Default_tolerance_mim
(*
© ISO 2014 — All rights reserved