Application module: Text representation | ISO/TS 10303-1750:2018-11(E) © ISO |
This clause specifies the information requirements for the Text representation application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Text_representation_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Text_representation_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Text_appearance_arm;
--
ISO/TS 10303-1136
USE FROM
Associative_text_arm;
--
ISO/TS 10303-1132
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Text_appearance_arm ISO/TS 10303-1136 Associative_text_arm ISO/TS 10303-1132
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
EXPRESS specification:
*)
TYPE
label1 =
label;
WHERE
WR1: LENGTH(SELF) = 1;
END_TYPE;
(*
Formal propositions:
WR1: The string value shall have a length of 1.
The tr_composite_text_element_select type is an extension of the composite_text_element_select type. It adds the data type Annotation_text_character to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
tr_composite_text_element_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
composite_text_element_select
WITH
(Annotation_text_character);
END_TYPE;
(*
The tr_font_select type is an extension of the font_select type. It adds the data type Text_font to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
tr_font_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
font_select
WITH
(Text_font);
END_TYPE;
(*
The tr_text_or_composite_text type is an extension of the text_or_composite_text type. It adds the data type Annotation_text_character to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
tr_text_or_composite_text =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
text_or_composite_text
WITH
(Annotation_text_character);
END_TYPE;
(*
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
EXPRESS specification:
*)
ENTITY Annotation_text_character
SUBTYPE OF (Detailed_geometric_model_element);
replicated_model : Character_glyph_symbol;
source : Axis_placement;
target : Axis_placement;
END_ENTITY;
(*
Attribute definitions:
replicated_model: specifies a role of the Character_glyph_symbol for the Annotation_text_character.
source: specifies a role of the Axis_placement for the Annotation_text_character.
target: specifies a role of the Axis_placement for the Annotation_text_character.
A Character_glyph_font_usage is a means to specify the participation of a Character_glyph_symbol in a Text_font.
NOTE This entity is partially modelled in the ARM. However, in the MIM, more details about stroke and outline of character glyphs are given. Detailed information about these characteristics can be obtained in ISO 10303-46.
EXPRESS specification:
*)
ENTITY Character_glyph_font_usage;
character : Character_glyph_symbol;
font : Text_font;
END_ENTITY;
(*
Attribute definitions:
character: specifies the Character_glyph_symbol that is part of the font.
font: specifies the Text_font to which the Character_glyph_symbol is assigned.
EXPRESS specification:
*)
ENTITY Character_glyph_symbol
SUBTYPE OF (Representation);
SELF\Representation.name RENAMED character : label1;
END_ENTITY;
(*
Attribute definitions:
character: the words by which the Character_glyph_symbol is known.
EXPRESS specification:
*)
ENTITY Text_font;
id : STRING;
name : STRING;
description : STRING;
INVERSE
glyphs : SET[1:?] OF Character_glyph_font_usage FOR font;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for Text_font.
name: the words by which the Text_font is known.
description: the text that provides further information about Text_font.
glyphs: specifies an inverse relationship that specifies that the existence of the Text_font is dependent on the existence of the Character_glyph_font_usage that specifies the Text_font as its font. There shall be one or more Character_glyph_font_usages for a particular Text_font.
EXAMPLE Examples for character fonts are Courier 12, Times 10, Helvetica Bold 14, 0815, ABC.
EXPRESS specification:
*)
ENTITY Text_font_family;
id : STRING;
name : STRING;
description : STRING;
INVERSE
fonts : SET[1:?] OF Text_font_in_family FOR family;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for Text_font_family.
name: the words by which the Text_font_family is known.
description: the text that provides further information about Text_font_family.
fonts: specifies an inverse relationship that specifies that the existence of the Text_font_family is dependent on the existence of the Text_font_in_family that specifies the Text_font_family as its family. There shall be one or more Text_font_in_families for a particular Text_font_family.
EXPRESS specification:
*)
ENTITY Text_font_in_family;
font : Text_font;
family : Text_font_family;
END_ENTITY;
(*
Attribute definitions:
font: specifies the Text_font that is part of the family.
family: specifies the Text_font_family to which the Text_font is assigned.
*)
END_SCHEMA; -- Text_representation_arm
(*
© ISO 2018 — All rights reserved