Application module: Conductivity material aspects | ISO/TS 10303-1756:2010-07(E) © ISO |
(*
ISO TC184/SC4/WG12 N6956 - ISO/TS 10303-1756 Conductivity material aspects - EXPRESS ARM
Supersedes
ISO TC184/SC4/WG12 N4215
*)
SCHEMA Conductivity_material_aspects_arm;
USE FROM
Classification_assignment_arm;
-- ISO/TS 10303-1114
USE FROM
Generic_material_aspects_arm;
-- ISO/TS 10303-1681
USE FROM
Part_view_definition_arm;
-- ISO/TS 10303-1023
REFERENCE FROM
Support_resource_arm -- ISO/TS 10303-1800
(bag_to_set);
TYPE cma_classification_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
classification_item
WITH
(Material_identification_with_conductivity_classification);
END_TYPE;
TYPE cma_material_item_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
material_item_select
WITH
(Part_view_definition);
END_TYPE;
ENTITY Conductivity_material_property_class
ABSTRACT SUPERTYPE
OF (ONEOF (Material_electrical_conductivity_class,
Material_thermal_conductivity_class))
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['conductive', 'non conductive', 'resistive', 'semi conductive', 'super conductive'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
ENTITY Material_electrical_conductivity_class
SUBTYPE OF (Conductivity_material_property_class);
END_ENTITY;
ENTITY Material_identification_with_conductivity_classification
SUBTYPE OF (Material_identification);
DERIVE
electrical_conductivity_classification : STRING := get_cond_class(SELF,'MATERIAL_ELECTRICAL_CONDUCTIVITY_CLASS');
magnetic_permeability_classification : STRING := get_cond_class(SELF,'RELATIVE_PERMEABILITY_MATERIAL_PROPERTY_CLASS');
optical_insertion_loss_classification : STRING := get_cond_class(SELF,'RELATIVE_OPTICAL_INSERTION_LOSS_MATERIAL_PROPERTY_CLASS');
thermal_conductivity_classification : STRING := get_cond_class(SELF,'MATERIAL_THERMAL_CONDUCTIVITY_CLASS');
dielectric_permittivity_classification : STRING := get_cond_class(SELF,'RELATIVE_PERMITTIVITY_MATERIAL_PROPERTY_CLASS');
WHERE
WR1: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'MATERIAL_ELECTRICAL_CONDUCTIVITY_CLASS' IN TYPEOF (ca.assigned_class)))) = 1);
WR2: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'MATERIAL_THERMAL_CONDUCTIVITY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR3: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_PERMEABILITY_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR4: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_PERMITTIVITY_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR5: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_OPTICAL_INSERTION_LOSS_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
END_ENTITY;
ENTITY Material_thermal_conductivity_class
SUBTYPE OF (Conductivity_material_property_class);
END_ENTITY;
ENTITY Relative_optical_insertion_loss_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['vacuum', 'very low loss', 'low loss', 'medium loss', 'high loss'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
ENTITY Relative_permeability_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['free space permeabilty', 'low permeability', 'medium permeability', 'highly permeable'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
ENTITY Relative_permittivity_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['vacuum permittivity', 'low permittivity', 'medium permittivity', 'high permittivity'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
SUBTYPE_CONSTRAINT cma_class_subtypes FOR Class;
ONEOF (Conductivity_material_property_class,
Relative_permeability_material_property_class,
Relative_optical_insertion_loss_material_property_class,
Relative_permittivity_material_property_class);
END_SUBTYPE_CONSTRAINT;
FUNCTION get_cond_class
(input1 : Material_identification_with_conductivity_classification; input2 : STRING) : STRING;
LOCAL car : SET OF Classification_assignment := []; END_LOCAL; car := QUERY(ca <* bag_to_set(USEDIN(input1, 'CLASSIFICATION_ASSIGNMENT_ARM.' + 'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS')) | ('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+ input2 IN TYPEOF (ca.assigned_class))); IF SIZEOF(car) = 1 THEN RETURN(car[1].assigned_class\class.name); ELSE RETURN('?'); END_IF;
END_FUNCTION;
END_SCHEMA; -- Conductivity_material_aspects_arm
© ISO 2010 — All rights reserved