Application module: Surface conditions | ISO/TS 10303-1110:2019(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:
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
*)
SCHEMA Surface_conditions_mim;
USE FROM
application_context_schema
--
ISO 10303-41
(application_context_element);
USE FROM
Generic_material_aspects_mim;
--
ISO/TS 10303-1681
USE FROM
Geometric_tolerance_mim;
--
ISO/TS 10303-1051
USE FROM
material_property_definition_schema
--
ISO 10303-45
(material_designation,
property_definition_relationship);
USE FROM
Part_view_definition_mim;
--
ISO/TS 10303-1023
USE FROM
product_property_definition_schema
--
ISO 10303-41
(property_definition,
shape_aspect_relationship);
USE FROM
product_property_representation_schema
--
ISO 10303-41
(property_definition_representation);
USE FROM
Value_with_unit_extension_mim;
--
ISO/TS 10303-1753
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
application_context_schema ISO 10303-41 Generic_material_aspects_mim ISO/TS 10303-1681 Geometric_tolerance_mim ISO/TS 10303-1051 material_property_definition_schema ISO 10303-45 Part_view_definition_mim ISO/TS 10303-1023 product_property_definition_schema ISO 10303-41 product_property_representation_schema ISO 10303-41 Value_with_unit_extension_mim ISO/TS 10303-1753
NOTE 2 See Annex D, Figures D.1and D.2 for a graphical representation of this schema.
This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.
For more information, see ARM definition of Contact_ratio.
EXPRESS specification:
*)
ENTITY contact_ratio_representation
SUBTYPE OF (representation);
WHERE
WR1: (SIZEOF ( SELF.items ) =1 ) AND
(SIZEOF ( QUERY ( i <* SELF.items |
(SIZEOF(['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.' + 'VALUE_RANGE']*
TYPEOF(i)) = 1) AND
(i.name = 'ratio value'))) = 1);
WR2: (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) |
pdr\property_definition_representation.name = 'contact ratio reference' ) ) = 1 ) AND
(SIZEOF ( QUERY (pdr <* USEDIN ( SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION'
) |
(pdr\property_definition_representation.name = 'contact ratio reference' ) AND
('PRODUCT_DEFINITION_SCHEMA.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition))
)) = 1);
WR3: (SIZEOF(USEDIN(SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION'))
= 1) AND
(SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (pdr.definition ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+
'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF (gpa\general_property_association.base_definition
) ) AND
(gpa\general_property_association.base_definition\general_property.name ='surface_condition')
)) = 1
)) = 1);
END_ENTITY;
(*
Formal propositions:
WR1: Each instance of contact_ratio_representation shall contain exactly one representation_item in its set of items. This representation_item shall be of type measure_representation_item or of type value_range and it shall have a name of 'ratio value'.
WR2: Each instance of contact_ratio_representation shall be referenced as the used_representation by exactly one property_definition_representation that has a name of 'contact ratio reference'. This property_definition_representation shall relate the representation with a product_definition.
WR3: Each instance of contact_ratio_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.
EXPRESS specification:
*)
ENTITY hardness_representation
SUBTYPE OF (representation);
WHERE
WR1: ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY (
i <* items | ( 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
i.name IN [ 'measuring method' , 'measuring position' ] ) )
) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' ,
'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 )
AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF (
SELF.items ) );
WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name =
'measuring method' ) ) =1;
WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) )
=1;
WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name =
'measuring position' ) ) <=1;
WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) )
<=1;
WR6: ( SIZEOF ( USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
<* USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
pdr.definition ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+
'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND
( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )
) =1 );
END_ENTITY;
(*
Formal propositions:
WR1: Each instance of hardness_representation shall contain between two and four representation_item instances in its set of items. These representation_item instances shall either be of type descriptive_representation_item and have a name of either 'measuring method' or 'measuring position', or shall be of type measure_representation_item or value_range and have a name of either 'depth' or 'hardness'.
WR2: Each instance of hardness_representation shall contain exactly one representation_item in its set of items that has a name of 'measuring method'.
WR3: Each instance of hardness_representation shall contain exactly one measure_representation_item or value_range in its set of items that has a name of 'hardness'.
WR4: Each instance of hardness_representation shall contain at most one representation_item in its set of items that has a name of 'measuring position'.
WR5: Each instance of hardness_representation shall contain at most one measure_representation_item or value_range in its set of items that has a name of 'depth'.
WR6: Each instance of hardness_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.
The method or standard according to which the surface texture is represented is specified in the description of the descriptive_representation_item.
For more information, see ARM definition of Surface_texture.
EXPRESS specification:
*)
ENTITY surface_texture_representation
SUBTYPE OF (representation);
WHERE
WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' ,
'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE' , 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF
( i ) ) <>1 ) )
=0;
WR2: ( SIZEOF ( QUERY ( i <* SELF.items | 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) )
) =1 )
AND ( SIZEOF ( QUERY ( i <* SELF.items | (
'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN
TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 );
WR3: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' ,
'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) )
>0;
WR4: ( SIZEOF ( USEDIN ( SELF ,
'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+
'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF ,
'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+
'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF
, 'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+
'REP_1' ) | rr.rep_2.name = 'measuring direction' ) ) =
SIZEOF ( USEDIN ( SELF ,
'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+
'REP_1' ) ) );
WR5: ( SIZEOF ( USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
<* USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
pdr.definition ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+
'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND
( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )
) =1 );
END_ENTITY;
(*
Formal propositions:
WR1: Each instance of surface_texture_representation shall contain only representation_item instances that are of type measure_representation_item, value_range, or descriptive_representation_item.
WR2: Each instance of surface_texture_representation shall contain exactly one descriptive_representation_item. The name of this descriptive_representation_item shall be 'measuring method'.
WR3: Each instance of surface_texture_representation shall contain at least one measure_representation_item or value_range.
WR4: Each instance of surface_texture_representation shall be referenced by at most one representation_relationship. If such a relationship is present, the surface_texture_representation shall be the rep_1 and the rep_2 shall be a representation whose name is 'measuring direction'.
WR5: Each instance of surface_texture_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.
For more information see ARM definition of Tactile_appearance.
EXPRESS specification:
*)
ENTITY tactile_appearance_representation
SUBTYPE OF (representation);
WHERE
WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' ,
'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0;
WR2: SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1;
WR3: ( SIZEOF ( USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
<* USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
pdr.definition ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+
'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND
( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 );
END_ENTITY;
(*
Formal propositions:
WR1: Each instance of tactile_appearance_representation shall only representation_item instances of type measure_representation_item or value_range in its set of items.
WR2: At most one measure_representation_item or value_range in the set of items shall have a name of 'depth'.
WR3: Each instance of tactile_appearance_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.
For more information see ARM definition of Visual_appearance.
EXPRESS specification:
*)
ENTITY visual_appearance_representation
SUBTYPE OF (representation);
WHERE
WR1: ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY (
i <* items | ( 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) )
) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' ,
'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 )
AND ( i.name IN ['refraction index' , 'opacity'] ) )
) + SIZEOF ( QUERY ( i <* items | (
'FILE_IDENTIFICATION_MIM.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) )
AND ( i.name IN [ 'texture map' ] ) ) )
= SIZEOF ( SELF.items ) );
WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1;
WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1;
WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1;
WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1;
WR6: SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1;
WR7: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1;
WR8: SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1;
WR9: SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1;
WR10: SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1;
WR11: ( SIZEOF ( USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
<* USEDIN ( SELF ,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
pdr.definition ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+
'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND
( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 );
END_ENTITY;
(*
Formal propositions:
WR1: Each instance of visual_appearance_representation shall contain between two and five representation_item instances in its set of items. These representation_item instances shall be of type descriptive_representation_item and have a name of 'colour id', 'colour name', 'lustre', 'pattern', or 'transparency'.
WR2: Each instance of visual_appearance_representation shall contain exactly one representation_item in its set of items that has a name of 'colour id'.
WR3: Each instance of visual_appearance_representation shall contain exactly one representation_item in its set of items that has a name of 'lustre'.
WR4: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'colour name'.
WR5: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'pattern'.
WR6: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'transparency'.
WR7: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'texture map'.
WR8: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'refraction index'.
WR9: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'opacity'.
WR10: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'orientation'.
WR11: Each instance of visual_appearance_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.
This subclause specifies the MIM function for this module. The MIM function and definition is specified below.
If the names are the same, the function returns TRUE. If the name of the property_definition is not in the list of names of surface conditions, the function returns UNKNOWN.
EXPRESS specification:
*)
FUNCTION surface_condition_correlation (pd : property_definition; rep : representation) : LOGICAL;
CASE pd.name OF 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : RETURN(pd.name = rep.name); OTHERWISE : RETURN(UNKNOWN); END_CASE;
END_FUNCTION;
(*
Argument definitions:
pd: the property_definition that is considered.
rep: the representation that is considered.
This subclause specifies the MIM rules for this module. The MIM rules and definitions are specified below.
EXPRESS specification:
*)
RULE material_for_coating_layer FOR
(shape_aspect);
LOCAL coating_layers: SET OF shape_aspect := []; END_LOCAL; coating_layers:= QUERY( r <* shape_aspect | (r.name = 'coating layer') );
WHERE
WR1: SIZEOF( QUERY( r <* coating_layers |
SIZEOF(USEDIN(r , 'MATERIAL_PROPERTY_DEFINITION_SCHEMA.MATERIAL_DESIGNATION.DEFINITIONS'))<>1
)) = 0;
END_RULE;
(*
Argument definitions:
shape_aspect : the set of all instances of shape_aspect.
Formal propositions:
WR1: There shall not be any instance of shape_aspect with name 'coating layer' that is not referred to by exactly one material_designation.
EXPRESS specification:
*)
RULE restrict_representation_for_surface_condition FOR
(property_definition_representation);
WHERE
WR1: SIZEOF(QUERY(pdr <* property_definition_representation |
NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0;
END_RULE;
(*
Argument definitions:
property_definition_representation : the set of all instances of property_definition_representation.
Formal propositions:
WR1: there shall not be any instance of property_definition_representation such that the represented property identifies a surface condition and such that the used_representation is not the representation appropriate for this kind of surface condition.
EXPRESS specification:
*)
RULE restrict_treatment_result FOR
(representation);
LOCAL treatment_results: SET OF representation := []; END_LOCAL; treatment_results:= QUERY( r <* representation | (r.name = 'treatment result') );
WHERE
WR1: (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND
(SIZEOF( QUERY( r <* treatment_results |
(SIZEOF( QUERY( i <* r.items |
NOT ('QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0);
WR2: SIZEOF( QUERY( r <* treatment_results |
(SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0;
WR3: SIZEOF( QUERY( r <* treatment_results |
(SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0;
END_RULE;
(*
Argument definitions:
representation : the set of all instances of representation.
Formal propositions:
WR1: Each instance of representation that has a name of 'treatment result' shall contain at most 2 representation_item instances in its set of items. These representation_item instances shall be of type descriptive_representation_item.
WR2: Exactly one representation_item shall have a name of 'result'.
WR3: At most one representation_item shall have a name of 'purpose'.
*)
END_SCHEMA; -- Surface_conditions_mim
(*
© ISO 2019 — All rights reserved