Application module: Schematic element | ISO/TS 10303-1205:2005(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 Schematic_element_mim;
USE FROM
Class_mim;
--
ISO/TS 10303-1070
USE FROM
Set_theory_mim;
--
ISO/TS 10303-1210
USE FROM
Draughting_annotation_mim;
--
ISO/TS 10303-1206
USE FROM
Foundation_representation_mim;
--
ISO/TS 10303-1006
USE FROM
aic_geometrically_bounded_2d_wireframe;
--
ISO 10303-503
USE FROM
representation_schema
--
ISO 10303-43
(mapped_item,
representation_map);
USE FROM
presentation_appearance_schema
--
ISO 10303-46
(styled_item);
USE FROM
presentation_organization_schema
--
ISO 10303-46
(presentation_representation);
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Class_mim ISO/TS 10303-1070 Set_theory_mim ISO/TS 10303-1210 Draughting_annotation_mim ISO/TS 10303-1206 Foundation_representation_mim ISO/TS 10303-1006 aic_geometrically_bounded_2d_wireframe ISO 10303-503 representation_schema ISO 10303-43 presentation_appearance_schema ISO 10303-46 presentation_organization_schema ISO 10303-46
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.
A composition_of_schematic_element_occurrence is a mapped_item that is a Composition_of_schematic_element_occurrence (as defined in the ARM).
A composition_of_schematic_element_definition shall not specify a scaling, translation or rotation.
EXPRESS specification:
*)
ENTITY composition_of_schematic_element_occurrence
SUBTYPE OF (mapped_item);
WHERE
schematic_element_occurrence_as_part: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(SELF\mapped_item.mapping_source.mapped_representation);
schematic_element_occurrence_as_whole: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(using_representations(SELF));
END_ENTITY;
(*
Formal propositions:
schematic_element_occurrence_as_part: The part shall be a schematic_element_occurrence.
schematic_element_occurrence_as_whole: The whole shall be a schematic_element_occurrence.
A connection_of_schematic_element_occurrence is a representation_relationship that is a Connection_of_schematic_element_occurrence (as defined in the ARM).
A connection_of_schematic_element_occurrence shall not specify a scaling, translation or rotation.
EXPRESS specification:
*)
ENTITY connection_of_schematic_element_occurrence
SUBTYPE OF (mapped_item);
WHERE
schematic_element_occurrence_as_side_1: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(SELF\mapped_item.mapping_source.mapped_representation);
schematic_element_occurrence_as_side_2: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(using_representations(SELF));
END_ENTITY;
(*
Formal propositions:
schematic_element_occurrence_as_side_1: The side 1 shall be a schematic_element_occurrence.
schematic_element_occurrence_as_side_2: The side 2 shall be a schematic_element_occurrence.
A definition_of_schematic_element_occurrence is a mapped_item relationship that is a Definition_of_schematic_element_occurrence (as defined in the ARM).
NOTE This entity is regarded as a type of mapped_item rather than subset, for compatibility with other parts of ISO 10303.
A definition_of_schematic_element_occurrence shall not specify a scaling, rotation or transformation.
EXPRESS specification:
*)
ENTITY definition_of_schematic_element_occurrence
SUBTYPE OF (mapped_item);
WHERE
schematic_element_as_superset: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT' IN TYPEOF (SELF\mapped_item.mapping_source.mapped_representation);
schematic_element_occurrence_as_subset: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(using_representations(SELF));
END_ENTITY;
(*
Formal propositions:
schematic_element_as_superset: the superset shall be a schematic_element.
schematic_element_occurrence_as_subset: the subset shall be a schematic_element_occurrence.
A derivation_of_schematic_element_definition is a mapped_item that is a Derivation_of_schematic_element_definition (as defined in the ARM).
A derivation_of_schematic_element_definition can specify a scaling, but shall not specify a translation or rotation.
EXPRESS specification:
*)
ENTITY derivation_of_schematic_element_definition
SUBTYPE OF (mapped_item);
WHERE
schematic_element_definition_as_base: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_DEFINITION' IN TYPEOF
(SELF\mapped_item.mapping_source.mapped_representation);
implicit_schematic_element_definition_as_derived: 'SCHEMATIC_ELEMENT_MIM.' + 'IMPLICIT_SCHEMATIC_ELEMENT_DEFINITION'
IN TYPEOF (using_representations(SELF));
END_ENTITY;
(*
Formal propositions:
schematic_element_definition_as_base: the base shall be a schematic_element_definition.
implicit_schematic_element_definition_as_derived: the derived shall be an implicit_schematic_element_definition.
A draughting_model is a specification that can be reproduced as patches of ink on paper or pixels on a visual display screen, and that represents one or more of the following:
A draughting_model can be:
NOTE This entity is identitical to the entity of the same name defined within ISO 10303-201:1994
EXPRESS specification:
*)
ENTITY draughting_model
SUBTYPE OF (representation);
UNIQUE
unique_id:
SELF\representation.name;
WHERE
valid_draughting_model_items: SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([ 'REPRESENTATION_SCHEMA.MAPPED_ITEM',
'DRAUGHTING_ANNOTATION_MIM.STYLED_ITEM', 'DRAUGHTING_ANNOTATION_MIM.AXIS2_PLACEMENT'] * TYPEOF(it))
= 1)) )) = 0;
valid_mapped_items: SIZEOF(QUERY ( mi <* QUERY ( it <* SELF.items | ('REPRESENTATION_SCHEMA.MAPPED_ITEM' IN TYPEOF(it))
) | (NOT (SIZEOF(['DRAUGHTING_ANNOTATION_MIM.SHAPE_REPRESENTATION', 'SCHEMATIC_ELEMENT_MIM.DRAUGHTING_MODEL']
* TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) = 1 )) )) = 0;
valid_use_of_style: SIZEOF(QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ('DRAUGHTING_ANNOTATION_MIM.STYLED_ITEM'
IN TYPEOF(it)) ) | ('REPRESENTATION_SCHEMA.MAPPED_ITEM' IN TYPEOF(si\styled_item.item)) ) | (NOT (('DRAUGHTING_ANNOTATION_MIM.SHAPE_REPRESENTATION'
IN TYPEOF(smi\styled_item.item\mapped_item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY ( sty <* smi\styled_item.styles
| (NOT (SIZEOF(QUERY ( psa <* sty.styles | (NOT ('DRAUGHTING_ANNOTATION_MIM.CURVE_STYLE' IN TYPEOF(psa)))
)) = 1 )) )) = 1))) )) = 0;
END_ENTITY;
(*
Formal propositions:
unique_id: The name of a draughting_model shall be unique.
valid_draughting_model_items: Each item of a draughting_model shall be a mapped_item, styled_item or axis2_placement.
valid_mapped_items: If there is a mapped_item in a draughting_model, then the source of the mapped_item shall be a shape_representation or another draughting_model.
valid_use_of_style: If a mapped_item is styled, then the source of the mapped_item shall be a shape_representation and the style applied to the mapped_item shall be a curve_style.
An explicit_schematic_element_definition is a schematic_element_definition that is a Explicit_schematic_element_definition (as defined in the ARM).
EXPRESS specification:
*)
ENTITY explicit_schematic_element_definition
SUBTYPE OF (schematic_element_definition);
WHERE
not_derived_or_defined_by_assembly: (SIZEOF( QUERY(it <* SELF.items | 'SCHEMATIC_ELEMENT_MIM.' + 'DERIVATION_OF_SCHEMATIC_ELEMENT_DEFINITION'
IN TYPEOF(it) ) ) = 0) AND (SIZEOF( QUERY(it <* SELF.items | 'SCHEMATIC_ELEMENT_MIM.' + 'USAGE_OF_SCHEMATIC_ELEMENT_OCCURRENCE'
IN TYPEOF(it) ) ) >= 0);
END_ENTITY;
(*
Formal propositions:
not_derived_or_defined_by_assembly: The form of an explicit_schematic_element_definition shall be defined by neither a single instance of derivation_of_schematic_element_definition nor by one or more instances of usage_of_schematic_element_occurrence.
NOTE A explicit_schematic_element_definition is defined by its instances of styled_item.
An implicit_schematic_element_definition is a schematic_subfigure_representation that is a Implicit_schematic_element_definition (as defined in the ARM).
EXPRESS specification:
*)
ENTITY implicit_schematic_element_definition
SUBTYPE OF (schematic_element_definition);
WHERE
no_styled_item: SIZEOF( QUERY(it <* SELF.items | 'DRAUGHTING_ANNOTATION_MIM.STYLED_ITEM'
IN TYPEOF(it) ) ) = 0;
either_derived_once_or_defined_by_assembly: (SIZEOF( QUERY(it <* SELF.items | 'SCHEMATIC_ELEMENT_MIM.'
+ 'DERIVATION_OF_SCHEMATIC_ELEMENT_DEFINITION' IN TYPEOF(it) )
) = 1) OR (SIZEOF( QUERY(it <* SELF.items | 'SCHEMATIC_ELEMENT_MIM.' +
'USAGE_OF_SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF(it) ) ) >= 1);
END_ENTITY;
(*
Formal propositions:
no_styled_item: The form of an implicit_schematic_element_definition shall not be defined explicitly by reference to instances of styled_item.
NOTE Instead the form of an implicit_schematic_element_definition is defined as an assembly of instances of schematic_element_occurrence or by derivation from another instance of schematic_element_definition.
either_derived_once_or_defined_by_assembly: The form of an implicit_schematic_element_definition shall be defined by either a single instance of derivation_of_schematic_element_definition or by one or more instances of usage_of_schematic_element_occurrence.
A schematic_element is a draughting_model and a class that is a Schematic_element (as defined in the ARM).
EXPRESS specification:
*)
ENTITY schematic_element
ABSTRACT SUPERTYPE
OF (ONEOF (schematic_element_definition,
schematic_element_occurrence))
SUBTYPE OF (class, draughting_model, presentation_representation);
WHERE
valid_mapping: SIZEOF( QUERY(it <* SELF.items | ('REPRESENTATION_SCHEMA.MAPPED_ITEM' IN TYPEOF(it)) AND
('SCHEMATIC_ELEMENT_MIM.DRAUGHTING_MODEL' IN TYPEOF (it\mapped_item.mapping_source.mapped_representation)) AND
(NOT( SIZEOF( ['SCHEMATIC_ELEMENT_MIM.' + 'DERIVATION_OF_SCHEMATIC_ELEMENT_DEFINITION', 'SCHEMATIC_ELEMENT_MIM.'
+ 'USAGE_OF_SCHEMATIC_ELEMENT_OCCURRENCE', 'SCHEMATIC_ELEMENT_MIM.' + 'DEFINITION_OF_SCHEMATIC_ELEMENT_OCCURRENCE'
] * TYPEOF(it) ) = 1 )) ) ) = 0;
END_ENTITY;
(*
Formal propositions:
valid_mapping: If there is a mapped_item in a schematic_element that has a draughting_model as its source, then the mapped_item shall be a derivation_of_schematic_element_definition, usage_of_schematic_element_occurrence, or definition_of_schematic_element_occurrence.
A schematic_element_definition is a schematic_element that is a Schematic_element_definition (as defined in the ARM).
A 'top' schematic_element_definition that corresponds to a complete drawing and is subject to configuration management shall also be a drawing_sheet_revision.
EXPRESS specification:
*)
ENTITY schematic_element_definition
SUPERTYPE OF (ONEOF (explicit_schematic_element_definition,
implicit_schematic_element_definition))
SUBTYPE OF (schematic_element);
END_ENTITY;
(*
A schematic_element_occurrence is a schematic_element that is a Schematic_element_occurrence (as defined in the ARM).
A schematic_element_occurrence plays a particular role within a schematic_element_definition. This role is specified by either:
The form of a schematic_element_occurrence is specified by a definition_of_schematic_element_occurrence. Two instances of definition_of_schematic_element_occurrence can be specified for a schematic_element_occurrence, where:
In this case, the form specified by the reference to a schematic_element_definition takes precidence over any form specified by reference to a schematic_element_occurrence.
A form need not specified for a schematic_element_occurrence. This is valid if:
The form of a schematic_element_occurrence shall not be defined by reference to more than one instance of schematic_element_definition.
A schematic_element_occurrence shall either:
EXPRESS specification:
*)
ENTITY schematic_element_occurrence
SUBTYPE OF (schematic_element);
INVERSE
usage_in_map : SET[1:?] OF representation_map FOR mapped_representation;
WHERE
no_styled_item: SIZEOF( QUERY(it <* SELF.items | 'DRAUGHTING_ANNOTATION_MIM.STYLED_ITEM'
IN TYPEOF(it) ) ) = 0;
END_ENTITY;
(*
Attribute definitions:
usage_in_map: The instances of representation_map in which the schematic_element_occurrence is referenced.
Formal propositions:
no_styled_item: The form of a schematic_element_occurrence shall not be defined explicitly by reference to instances of styled_item.
NOTE 1 Instead the form of a schematic_element_occurrence can be defined only by reference to a schematic_element_definition.
A usage_of_schematic_element_occurrence is a mapped_item that is a Usage_of_schematic_element_occurrence (as defined in the ARM).
A usage_of_schematic_element_occurrence can specify a translation or rotation, but shall not specify a scaling.
EXPRESS specification:
*)
ENTITY usage_of_schematic_element_occurrence
SUBTYPE OF (mapped_item);
WHERE
schematic_element_occurrence_as_part: 'SCHEMATIC_ELEMENT_MIM.' + 'SCHEMATIC_ELEMENT_OCCURRENCE' IN TYPEOF
(SELF\mapped_item.mapping_source.mapped_representation);
implicit_schematic_element_definition_as_whole: 'SCHEMATIC_ELEMENT_MIM.' + 'IMPLICIT_SCHEMATIC_ELEMENT_DEFINITION'
IN TYPEOF (using_representations(SELF));
END_ENTITY;
(*
Formal propositions:
schematic_element_occurrence_as_part: the part shall be a schematic_element_occurrence.
implicit_schematic_element_definition_as_whole: the whole shall be an implicit_schematic_element_definition.
*)
END_SCHEMA; -- Schematic_element_mim
(*
© ISO 2005 — All rights reserved